Taula de continguts:
- Pas 1: connecteu el teclat
- Pas 2: afegiu el Micro Servo
- Pas 3: Modifiqueu el codi per utilitzar el teclat del servidor
Vídeo: Posicionament servo amb teclat: 3 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:16
En aquest instructiu, crearem un projecte que controlarà un Micro-Servo amb un teclat que l’executa amb un Arduino Uno.
Materials utilitzats:
Arduino Uno
Taula de pa
Teclat 4x4
Micro-Servo
Pas 1: connecteu el teclat
El primer que heu de fer és connectar el rail d’alimentació i el cable de terra a la vostra placa des del vostre Arduino
- Connecteu el pin de 5V al carril de potència (vermell)
- Connecteu un passador de terra (GND) al rail de connexió a terra (blau)
Ara que la placa de connexió té energia i està connectada a terra, podem començar a connectar els nostres components.
Connectar el teclat és fàcil, però heu de prendre nota dels pins del teclat i de l’arduino. Serà útil quan fixem la nostra atenció en el nostre codi.
Recordeu que heu de començar a l'esquerra quan feu servir els cables.
- El primer passador va a 13
- El segon passador va a 12
- El tercer passador va a 11
- El quart pas passa a 10
- Cinquè passador a 9
- Sisè Pin a 8
- Setè Pin a 7
- Vuitè Pin a 6
Quan connecteu el teclat, recordeu de mantenir obert un pin digital pwm. La necessitarem per al micro-servo
Abans d’arribar al codi, assegureu-vos que heu instal·lat la biblioteca de teclats. Es pot trobar al vostre esbós i, a continuació, a la pestanya de bocet, inclou la biblioteca. No podreu utilitzar el teclat sense ell.
Ara anem al codi i ens assegurem que el teclat funcioni i doni els valors atesos
Notes ràpides: assegureu-vos que teniu la sentència if per comprovar el teclat, en cas contrari no funcionarà. Tingueu també en compte els retards, ja que s’embolicaran amb els botons registrats des del teclat
#incloure
files de bytes const = 4; // quatre files des que el teclat està ple
columnes de bytes const = 4; // quatre columnes, igual que l'anterior
botons char [files] [columnes] = {
{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', ' C '}, {' * ',' 0 ',' # ',' D '}};
byte fila P [files] = {13, 12, 11, 10}; // pins de fila del teclat
byte columnesP [columnes] = {9, 8, 7, 6}; // pins de columna del teclat
Teclat: teclat (makeKeymap (botons), fila P, columnes P, files, columnes); // crear teclat
configuració nul·la () {
Serial.begin (9600); }
bucle buit () {
button buttonPressed = pad.getKey (); // obtenir el caràcter del teclat si (buttonPressed) // mostra quin botó s'ha premut al teclat {Serial.println (buttonPressed); }}
Pas 2: afegiu el Micro Servo
Ara permet afegir el servomotor. Aquest és realment fàcil d'afegir al nostre projecte actual, ja que el micro servidor només té tres cables.
- El filferro marró va al rail de connexió a terra de la placa
- El vermell va al Power Rail
- Orange va al Pin 3 de l'Arduino. Recordeu que el micro servidor ha de tenir un pin PWM a l'Arduino. Això es deu al servo que utilitza TIMER2
Ara només ens assegurem que hem connectat bé el micro servo i que es mou
#include #include "Servo.h"
files de bytes const = 4; // quatre files des que el teclat està ple
columnes de bytes const = 4; // quatre columnes, igual que l'anterior
botons char [files] [columnes] = {
{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', ' C '}, {' * ',' 0 ',' # ',' D '}};
byte fila P [files] = {13, 12, 11, 10}; // pins de fila del teclat
byte columnesP [columnes] = {9, 8, 7, 6}; // pins de columna del teclat
Teclat: teclat (makeKeymap (botons), fila P, columnes P, files, columnes); // crear teclat
Servo currentServo; // crear un objecte servo per controlar un servo
// es poden crear dotze servobjets a la majoria de taulers
int pos = 0; // variable per emmagatzemar la posició del servo
configuració nul·la () {
Serial.begin (9600); currentServo.attach (3); // fixa el servo al pin 9 a l'objecte servo
}
bucle buit () {
button buttonPressed = pad.getKey (); // obtenir el caràcter del teclat si (buttonPressed) // mostra quin botó s'ha premut al teclat {Serial.println (buttonPressed); }
currentServo.write (95);
}
Pas 3: Modifiqueu el codi per utilitzar el teclat del servidor
Sabeu que modificarem el nostre codi de manera que, quan premem un botó concret del teclat, el servo es mogui a una posició determinada. Una cosa d’importància primer. La posició del servo per a 0 era estranya. Com que tenia un servo de rotació contínua, sempre que s’acostava a 0, el servo començava a girar. El número que vaig posar al codi era tan baix com podia anar sense que això passés. De totes maneres, aquí teniu el meu codi final:
#include #include
files de bytes const = 4; // quatre files des que el teclat està ple
columnes de bytes const = 4; // quatre columnes, igual que l'anterior
botons char [files] [columnes] = {
{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', ' C '}, {' * ',' 0 ',' # ',' D '}};
byte fila P [files] = {13, 12, 11, 10}; // pins de fila del teclat
byte columnesP [columnes] = {9, 8, 7, 6}; // pins de columna del teclat
Teclat: teclat (makeKeymap (botons), fila P, columnes P, files, columnes); // crear teclat
Servo myServo; //
configuració nul·la () {
Serial.begin (9600); myServo.attach (5); // fixa el servo al pin 9 a l'objecte servo}
bucle buit () {
clau clau = pad.getKey (); // obtenir el caràcter del teclat if (key == '0') {myServo.write (11); Serial.println ("0"); retard (15); } if (clau == '1') {myServo.write (12); Serial.println ("1"); retard (15); } if (clau == '2') {myServo.write (24); Serial.println ("2"); retard (15); } if (clau == '3') {myServo.write (36); Serial.println ("3"); retard (15); }
if (clau == '4')
{myServo.write (48); Serial.println ("4"); retard (15); }
if (clau == '5')
{myServo.write (60); Serial.println ("5"); retard (15); }
if (clau == '6')
{myServo.write (72); Serial.println ("6"); retard (15); }
if (clau == '7')
{myServo.write (84); Serial.println ("7"); retard (15); }
if (clau == '8')
{myServo.write (96); Serial.println ("8"); retard (15); }
if (clau == '9')
{myServo.write (108); Serial.println ("9"); retard (15); }
if (clau == '*')
{myServo.write (120); Serial.println ("*"); retard (15); }
if (clau == '#')
{myServo.write (132); Serial.println ("#"); retard (15); }
if (clau == 'A')
{myServo.write (146); Serial.println ("A"); retard (15); }
if (clau == 'B')
{myServo.write (158); Serial.println ("B"); retard (15); }
if (clau == 'C')
{myServo.write (170); Serial.println ("C"); retard (15); }
if (clau == 'D')
{myServo.write (180); Serial.println ("D"); retard (15); }}
Recomanat:
Sistema de posicionament basat en ultrasons: 4 passos (amb imatges)
Sistema de posicionament basat en ultrasons: totes les versions de radars ultrasònics que he trobat per a dispositius arduino (Arduino - Detector de radar / ultrasons, Arduino Ultrasonic Radar Project) són radars molt agradables, però tots són "cecs". Vull dir, el radar detecta alguna cosa, però el que jo
Utilització d’Arduino Uno per al posicionament XYZ de 6 braços robòtics DOF: 4 passos
Ús d’Arduino Uno per al posicionament XYZ de 6 braços robòtics DOF: aquest projecte tracta d’implementar un esbós Arduino curt i relativament fàcil per proporcionar un posicionament cinemàtic invers XYZ. Havia construït un braç robòtic de 6 servo, però quan es va tractar de trobar programari per executar-lo, no hi havia gaire, excepte per cust
Interfície de teclat amb 8051 i visualització de números de teclat en 7 segments: 4 passos (amb imatges)
Interfície de teclat amb 8051 i visualització de números de teclat en 7 segments: en aquest tutorial us explicaré com podem interfície de teclat amb 8051 i mostrar números de teclat en pantalla de 7 segments
Teclat Das ràpid i brut (teclat en blanc): 3 passos
Teclat Das ràpid i brut (teclat en blanc): un teclat Das és el nom del teclat més popular sense inscripcions a les tecles (teclat en blanc). El teclat Das es ven per 89,95 dòlars. Aquest instructiu us guiarà tot i fer-ne un amb qualsevol teclat antic que tingueu al voltant
Neteja del teclat d'alumini Apple o qualsevol altre teclat suau: 5 passos
Neteja del teclat d'alumini Apple … o qualsevol altre teclat suau: tan net com tu o jo intentem mantenir els nostres teclats d'alumini Apple, es tornen bruts al cap d'un any més o menys. Aquesta instrucció us ajudarà a netejar-la. Vés amb compte, perquè no sóc responsable si el teu teclat es trenca mentre fas això … SUCKS F