Cuprins:
- Pasul 1: conectați tastatura
- Pasul 2: Adăugați Micro Servo
- Pasul 3: Modificați codul pentru a utiliza tastatura de pe servo
Video: Servo Positoning cu tastatură: 3 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:46
În acest instructable vom crea un proiect care va controla un Micro-Servo cu o tastatură care îl rulează cu un Arduino Uno.
Materiale utilizate:
Arduino Uno
Pană de pâine
Tastatură 4x4
Micro-Servo
Pasul 1: conectați tastatura
Primul lucru pe care trebuie să-l faceți este să conectați șina de alimentare și șina de împământare pe placa dvs. de la Arduino
- Conectați pinul de 5V la șina de alimentare (roșu)
- Conectați un știft de împământare (GND) la șina de împământare (albastru)
Acum, când placa de alimentare are putere și este împământată, putem începe să ne conectăm componentele.
Cablarea tastaturii este ușoară, dar trebuie să luați notă de pinii de pe tastatură și arduino. Va fi util atunci când ne îndreptăm atenția asupra codului nostru.
Nu uitați să începeți din stânga când utilizați firele!
- Primul pin merge la 13
- Al doilea pin merge la 12
- Al treilea pin ajunge la 11
- Al patrulea pin ajunge la 10
- Al cincilea pin la 9
- Al șaselea pin la 8
- Al șaptelea Pin la 7
- Al optulea Pin la 6
Când conectați tastatura, nu uitați să păstrați un pin digital pwm deschis. Vom avea nevoie de ea pentru micro-servo
Înainte de a ajunge la cod, asigurați-vă că ați instalat Biblioteca tastaturii. Poate fi găsit în schița dvs., apoi în fila schiță, includeți biblioteca. Nu veți putea utiliza tastatura fără ea.
Acum, să apelăm la cod și să ne asigurăm că tastatura funcționează și oferă valorile frecvente
Note rapide: Asigurați-vă că aveți declarația if pentru a verifica tastatura, altfel nu va funcționa. De asemenea, aveți grijă de întârzieri, acestea se vor încurca cu butoanele înregistrate de la tastatură
#include
rânduri octet const = 4; // patru rânduri de când tastatura este plină
coloane byte const = 4; // patru coloane, la fel ca mai sus
butoane char [rânduri] [coloane] = {
{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', ' C '}, {' * ',' 0 ',' # ',' D '}};
octet rândP [rânduri] = {13, 12, 11, 10}; // pinii rândurilor tastaturii
coloane de octețiP [coloane] = {9, 8, 7, 6}; // pinii coloanei tastaturii
Tastatură tastatură = Tastatură (makeKeymap (butoane), rândP, coloaneP, rânduri, coloane); // creați tastatura
configurare nulă () {
Serial.begin (9600); }
bucla nulă () {
butonul char Apăsat = pad.getKey (); // obțineți caracterul de pe tastatură dacă (buton Apăsat) // arată ce buton a fost apăsat pe tastatură {Serial.println (buton Apăsat); }}
Pasul 2: Adăugați Micro Servo
Acum să adăugăm servomotorul. Acesta este foarte ușor de adăugat la proiectul nostru actual, deoarece micro serverul are doar trei fire.
- Sârmă maro merge la șina de împământare de pe panou
- Roșu merge la șina de alimentare
- Orange merge la Pinul 3 de pe Arduino. Nu uitați că serverul micro trebuie să aibă un pin PWM pe Arduino. Acest lucru se datorează servo-ului care utilizează TIMER2
Acum, să ne asigurăm că am conectat micro servo dreapta și că acesta se mișcă
#include #include "Servo.h"
rânduri octet const = 4; // patru rânduri de când tastatura este plină
coloane byte const = 4; // patru coloane, la fel ca mai sus
butoane char [rânduri] [coloane] = {
{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', ' C '}, {' * ',' 0 ',' # ',' D '}};
octet rândP [rânduri] = {13, 12, 11, 10}; // pinii rândurilor tastaturii
coloane de octețiP [coloane] = {9, 8, 7, 6}; // pinii coloanei tastaturii
Tastatură tastatură = Tastatură (makeKeymap (butoane), rândP, coloaneP, rânduri, coloane); // creați tastatura
Servo currentServo; // creați un obiect servo pentru a controla un servo
// douăsprezece obiecte servo pot fi create pe majoritatea panourilor
int pos = 0; // variabilă pentru a stoca poziția servo
configurare nulă () {
Serial.begin (9600); currentServo.attach (3); // atașează servo pe pinul 9 la obiectul servo
}
bucla nulă () {
butonul char Apăsat = pad.getKey (); // obțineți caracterul de pe tastatură dacă (buton Apăsat) // arată ce buton a fost apăsat pe tastatură {Serial.println (buton Apăsat); }
currentServo.write (95);
}
Pasul 3: Modificați codul pentru a utiliza tastatura de pe servo
Știți că vom modifica codul nostru astfel încât atunci când apăsăm un anumit buton de pe tastatură, servo să se deplaseze într-o anumită poziție. Un lucru important mai întâi. Poziția servo pentru 0 a fost ciudată. Deoarece aveam un servo de rotație continuă, ori de câte ori se apropia de 0, servo tocmai a început să se rotească. Numărul pe care l-am introdus în cod a fost la fel de scăzut pe cât puteam merge fără ca acest lucru să se întâmple. Oricum, iată codul meu final:
#include #include
rânduri octet const = 4; // patru rânduri de când tastatura este plină
coloane byte const = 4; // patru coloane, la fel ca mai sus
butoane char [rânduri] [coloane] = {
{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', ' C '}, {' * ',' 0 ',' # ',' D '}};
octet rândP [rânduri] = {13, 12, 11, 10}; // pinii rândurilor tastaturii
coloane de octețiP [coloane] = {9, 8, 7, 6}; // pinii coloanei tastaturii
Tastatură tastatură = Tastatură (makeKeymap (butoane), rândP, coloaneP, rânduri, coloane); // creați tastatura
Servo myServo; //
configurare nulă () {
Serial.begin (9600); myServo.attach (5); // atașează servo pe pinul 9 la obiectul servo}
bucla nulă () {
cheie char = pad.getKey (); // obțineți caracterul de pe tastatură if (tastă == '0') {myServo.write (11); Serial.println ("0"); întârziere (15); } if (cheie == '1') {myServo.write (12); Serial.println („1”); întârziere (15); } if (cheie == '2') {myServo.write (24); Serial.println ("2"); întârziere (15); } if (cheie == '3') {myServo.write (36); Serial.println ("3"); întârziere (15); }
if (cheie == '4')
{myServo.write (48); Serial.println ("4"); întârziere (15); }
if (cheie == '5')
{myServo.write (60); Serial.println ("5"); întârziere (15); }
if (cheie == '6')
{myServo.write (72); Serial.println ("6"); întârziere (15); }
if (cheie == '7')
{myServo.write (84); Serial.println ("7"); întârziere (15); }
if (cheie == '8')
{myServo.write (96); Serial.println ("8"); întârziere (15); }
if (cheie == '9')
{myServo.write (108); Serial.println ("9"); întârziere (15); }
if (cheie == '*')
{myServo.write (120); Serial.println ("*"); întârziere (15); }
if (cheie == '#')
{myServo.write (132); Serial.println ("#"); întârziere (15); }
if (cheie == 'A')
{myServo.write (146); Serial.println ("A"); întârziere (15); }
if (cheie == 'B')
{myServo.write (158); Serial.println ("B"); întârziere (15); }
if (cheie == 'C')
{myServo.write (170); Serial.println ("C"); întârziere (15); }
if (cheie == 'D')
{myServo.write (180); Serial.println ("D"); întârziere (15); }}
Recomandat:
Blocare servo tastatură: 5 pași
Blocare servo tastatură: Bună ziua tuturor, sper că ați avut o zi bună. Dacă nu, sperăm că puteți derula înapoi cu un anumit spirit deschis la acest tutorial și la o muzică terapeutică. Programarea poate fi o problemă. Din fericire, acest tutorial nu este o bătaie de cap, deci este posibil să reușiți
Tastatură Arduino Joystick Extender Box și controler de sunet, folosind Deej: 8 pași
Tastatură Arduino Joystick Extender Box și Sound Controller Thing folosind Deej: De ce, de ceva vreme, doresc să adaug un mic joystick la tastatura mea pentru a controla elementele interfeței sau alte sarcini mai mici în jocuri și simulatoare (MS Flight Sim, Elite: Dangerous, Star Wars: escadrile, etc). De asemenea, pentru Elite: Dangerous, am fost
Tastatură micro servo Arduino: 3 pași
Arduino Micro Servo Keypad: Pentru acest proiect, am creat un micro servo care pivotează la o valoare de trei cifre introdusă de o tastatură. Bibliotecile trebuie să ruleze setarea sunt „Servo.h” și „Keypad.h”. Ambele pot fi instalate în programul arduino.exe. Materialul
Buton tastatură servo poziționer: 3 pași
Buton de tastatură Servo Positioner: În acest instructable, se va putea apăsa un buton de pe tastatură și, în funcție de ce caracter a fost apăsat, servomotorul va roti un anumit grad. Programul se va bucla continuu de fiecare dată când este apăsat un buton
Tastatură rapidă și murdară Das (tastatură goală): 3 pași
Tastatură Das rapidă și murdară (tastatură goală): o tastatură Das este numele celei mai populare tastaturi fără inscripții pe taste (tastatură goală). Tastatura Das se vinde cu 89,95 USD. Acest instructiv vă va ghida, deși creați unul singur cu orice tastatură veche pe care o aveți în jur