Sommario:
- Passaggio 1: cablare la tastiera
- Passaggio 2: aggiungere il micro servo
- Passaggio 3: modifica il codice per utilizzare la tastiera sul servo
Video: Posizionamento servo con tastiera: 3 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:04
In questo tutorial creeremo un progetto che controllerà un Micro-Servo con una tastiera che lo esegue con un Arduino Uno.
Materiali usati:
Arduino Uno
tagliere
Tastiera 4x4
Micro-Servo
Passaggio 1: cablare la tastiera
La prima cosa che devi fare è cablare il binario di alimentazione e il binario di messa a terra sulla breadboard dal tuo Arduino
- Collegare il pin 5V alla barra di alimentazione (rosso)
- Collegare un pin di terra (GND) al binario di messa a terra (blu)
Ora che la breadboard è alimentata ed è collegata a terra, possiamo iniziare a cablare i nostri componenti.
Il cablaggio della tastiera è facile, ma è necessario prendere nota dei pin sulla tastiera e su arduino. Sarà utile quando rivolgiamo la nostra attenzione al nostro codice.
Ricorda di iniziare da sinistra quando usi i cavi!
- Il primo pin va a 13
- Il secondo pin va a 12
- Il terzo pin va a 11
- Il quarto pin va a 10
- Quinto pin a 9
- Sesto Pin a 8
- Settimo Pin a 7
- Ottavo Pin a 6
Quando si cabla la tastiera, ricordarsi di tenere aperto un pin digitale pwm. Ci servirà per il micro-servo
Prima di arrivare al codice, assicurati di aver installato la libreria della tastiera. Può essere trovato nel tuo schizzo, quindi nella scheda dello schizzo, includi la libreria. Non sarai in grado di utilizzare la tastiera senza di essa.
Ora passiamo al codice e assicuriamoci che la tastiera funzioni e dia i valori attesi
Note rapide: assicurati di avere l'istruzione if per controllare la tastiera, altrimenti non funzionerà. Fai anche attenzione ai ritardi, faranno confusione con i pulsanti che vengono registrati dalla tastiera
#includere
const byte righe = 4; //quattro righe poiché la tastiera è piena
const byte colonne = 4; //quattro colonne, come sopra
char pulsanti[righe][colonne] = {
{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', ' C'}, {'*', '0', '#', 'D'} };
byte rigaP[righe] = {13, 12, 11, 10}; //pin riga della tastiera
byte colonneP[colonne] = {9, 8, 7, 6}; //pin di colonna della tastiera
Tastierino tastierino = Tastierino(makeKeymap(pulsanti), rigaP, colonneP, righe, colonne); //crea tastiera
void setup(){
Serial.begin(9600); }
ciclo vuoto(){
char buttonPressed = pad.getKey(); //preleva il carattere dalla tastiera if(buttonPressed) //mostra quale pulsante è stato premuto sulla tastiera { Serial.println(buttonPressed); } }
Passaggio 2: aggiungere il micro servo
Ora aggiungiamo il servomotore. Questo è davvero facile da aggiungere al nostro progetto attuale poiché il micro server ha solo tre fili.
- Il filo marrone va al binario di messa a terra sulla breadboard
- Il rosso va al Power rail
- Orange va al Pin 3 su Arduino. Ricorda che il micro server deve avere un pin PWM su Arduino. Ciò è dovuto al servo che utilizza TIMER2
Ora assicuriamoci di aver cablato correttamente il micro servo e che si muova
#include #include "Servo.h"
const byte righe = 4; //quattro righe poiché la tastiera è piena
const byte colonne = 4; //quattro colonne, come sopra
char pulsanti[righe][colonne] = {
{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', ' C'}, {'*', '0', '#', 'D'} };
byte rigaP[righe] = {13, 12, 11, 10}; //pin riga della tastiera
byte columnsP[colonne] = {9, 8, 7, 6}; //pin di colonna della tastiera
Tastierino tastierino = Tastierino(makeKeymap(pulsanti), rigaP, colonneP, righe, colonne); //crea tastiera
Servo corrente Servo; // crea un oggetto servo per controllare un servo
// dodici servo oggetti possono essere creati sulla maggior parte delle schede
int posizione = 0; // variabile per memorizzare la posizione del servo
void setup(){
Serial.begin(9600); currentServo.attach(3); // collega il servo sul pin 9 all'oggetto servo
}
ciclo vuoto(){
char buttonPressed = pad.getKey(); //preleva il carattere dalla tastiera if(buttonPressed) //mostra quale pulsante è stato premuto sulla tastiera { Serial.println(buttonPressed); }
currentServo.write(95);
}
Passaggio 3: modifica il codice per utilizzare la tastiera sul servo
Sappi che modificheremo il nostro codice in modo che quando premiamo un particolare pulsante sulla tastiera, il servo si sposta in una posizione particolare. Una cosa importante prima di tutto. La posizione del servo per 0 era strana. Dato che avevo un servo a rotazione continua, ogni volta che si avvicinava a 0, il servo iniziava a girare. Il numero che ho inserito nel codice era il più basso possibile senza che ciò accadesse. Comunque, ecco il mio codice finale:
#include #include
const byte righe = 4; //quattro righe poiché la tastiera è piena
const byte colonne = 4; //quattro colonne, come sopra
char pulsanti[righe][colonne] = {
{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', ' C'}, {'*', '0', '#', 'D'} };
byte rigaP[righe] = {13, 12, 11, 10}; //pin riga della tastiera
byte colonneP[colonne] = {9, 8, 7, 6}; //pin di colonna della tastiera
Tastierino tastierino = Tastierino(makeKeymap(pulsanti), rigaP, colonneP, righe, colonne); //crea tastiera
Servo myServo; //
void setup(){
Serial.begin(9600); myServo.attach(5); // collega il servo sul pin 9 all'oggetto servo }
ciclo vuoto(){
char chiave = pad.getKey(); //ricevo il carattere dalla tastiera if(key == '0') { myServo.write(11); Serial.println("0"); ritardo(15); } if(chiave == '1') { mioServo.write(12); Serial.println("1"); ritardo(15); } if(chiave == '2') { mioServo.write(24); Serial.println("2"); ritardo(15); } if(chiave == '3') { mioServo.write(36); Serial.println("3"); ritardo(15); }
if(chiave == '4')
{ myServo.write(48); Serial.println("4"); ritardo(15); }
if(chiave == '5')
{ myServo.write(60); Serial.println("5"); ritardo(15); }
if(chiave == '6')
{ myServo.write(72); Serial.println("6"); ritardo(15); }
if(chiave == '7')
{ myServo.write(84); Serial.println("7"); ritardo(15); }
if(chiave == '8')
{ myServo.write(96); Serial.println("8"); ritardo(15); }
if(chiave == '9')
{ myServo.write(108); Serial.println("9"); ritardo(15); }
if(chiave == '*')
{ myServo.write(120); Serial.println("*"); ritardo(15); }
if(chiave == '#')
{ myServo.write(132); Serial.println("#"); ritardo(15); }
if(chiave == 'A')
{ myServo.write(146); Serial.println("A"); ritardo(15); }
if(chiave == 'B')
{ myServo.write(158); Serial.println("B"); ritardo(15); }
if(tasto == 'C')
{ myServo.write(170); Serial.println("C"); ritardo(15); }
if(chiave == 'D')
{ myServo.write(180); Serial.println("D"); ritardo(15); } }
Consigliato:
Tastiera analogica fai-da-te con tastiera USB: 4 passaggi
Tastiera analogica fai-da-te per tastiera USB: ho realizzato questo progetto solo per divertimento, ma questa cosa funziona come una normale tastiera con tutto. Buon divertimento
Sistema di posizionamento basato su ultrasuoni: 4 passaggi (con immagini)
Sistema di posizionamento basato su ultrasuoni: tutte le versioni di radar a ultrasuoni che ho trovato per i dispositivi Arduino (Arduino - Radar/Rivelatore a ultrasuoni, Arduino Ultrasonic Radar Project) sono radar molto belli ma tutti sono "ciechi". Voglio dire, il radar rileva qualcosa ma quello che io
Consigli sulla tecnica e il posizionamento del microfono per il cantante: 5 passaggi
Consigli sulla tecnica del microfono e sul posizionamento per il cantante: Per gli inesperti, l'uso di un microfono può sembrare inizialmente un'operazione abbastanza facile. Devi semplicemente parlare o cantare nella parte superiore in alto e un suono meravigliosamente chiaro ed equilibrato verrà emesso dagli altoparlanti con ampi consensi dall'a
Interfaccia della tastiera con 8051 e visualizzazione dei numeri della tastiera in 7 segmenti: 4 passaggi (con immagini)
Interfaccia della tastiera con 8051 e visualizzazione dei numeri della tastiera in 7 segmenti: In questo tutorial ti parlerò di come possiamo interfacciare la tastiera con 8051 e visualizzare i numeri della tastiera in un display a 7 segmenti
Posizionamento di oggetti AR alle coordinate GPS in realtà aumentata: 8 passaggi (con immagini)
Posizionamento di oggetti AR alle coordinate GPS in realtà aumentata: questo istruibile andrà a creare un'app mobile per posizionare oggetti AR alle coordinate GPS con ARkit e ARCore utilizzando Unity3D. Ti guiderò attraverso l'impostazione di un progetto che ho realizzato utilizzando Mapbox che ci consente di taggare i messaggi in particolari G