Satura rādītājs:
- 1. darbība: pievienojiet tastatūru
- 2. darbība: pievienojiet Micro Servo
- 3. darbība: mainiet kodu, lai izmantotu servo tastatūru
Video: Servo pozicionēšana ar tastatūru: 3 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:57
Šajā pamācībā mēs izveidosim projektu, kas kontrolēs Micro-Servo ar tastatūru, kas to darbina ar Arduino Uno.
Izmantotie materiāli:
Arduino Uno
Maizes dēlis
4x4 tastatūra
Mikroservo
1. darbība: pievienojiet tastatūru
Pati pirmā doma, kas jums jādara, ir savienot maizes dēļa barošanas sliedi un zemējuma sliedi no Arduino
- Pievienojiet 5V tapu barošanas sliedei (sarkana)
- Pievienojiet zemējuma tapu (GND) zemējuma sliedei (zila)
Tagad, kad maizei ir spēks un tā ir iezemēta, mēs varam sākt savienot komponentus.
Tastatūras savienošana ir vienkārša, taču jums jāņem vērā tastatūras un arduino tapas. Tas noderēs, ja pievērsīsim uzmanību savam kodam.
Lietojot vadus, atcerieties sākt no kreisās puses!
- Pirmā tapa iet uz 13
- Otrā tapa iet uz 12
- Trešā tapa iet uz 11
- Ceturtā tapa iet uz 10
- Piektā tapa līdz 9
- Sestā tapa līdz 8
- Septītā tapa līdz 7
- Astotā tapa līdz 6
Pieslēdzot tastatūru, neaizmirstiet turēt vaļā digitālo pwm tapu. Mums tas būs vajadzīgs mikroservo
Pirms mēs nonākam pie koda, pārliecinieties, vai esat instalējis tastatūras bibliotēku. To var atrast jūsu skicē, pēc tam skices cilnē, iekļaujot bibliotēku. Bez tā jūs nevarēsit izmantot tastatūru.
Tagad pievērsīsimies kodam un pārliecinieties, vai tastatūra darbojas un sniedz apmeklētās vērtības
Ātrās piezīmes: Pārliecinieties, vai jums ir if paziņojums, lai pārbaudītu tastatūru, pretējā gadījumā tā nedarbosies. Esiet piesardzīgs arī ar kavēšanos, jo tās sajauksies ar taustiņu reģistrētām pogām
#iekļaut
const baitu rindas = 4; // četras rindas, jo tastatūra ir pilna
const baitu kolonnas = 4; // četras kolonnas, tādas pašas kā iepriekš
char pogas [rindas] [kolonnas] = {
{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', '' C '}, {'*',' 0 ','#',' D '}};
baitu rindaP [rindas] = {13, 12, 11, 10}; // tastatūras rindas tapas
baitu kolonnasP [kolonnas] = {9, 8, 7, 6}; // tastatūras kolonnu tapas
Tastatūras paliktnis = Tastatūra (makeKeymap (pogas), rinda P, kolonnasP, rindas, kolonnas); // izveidot tastatūru
void setup () {
Sērijas sākums (9600); }
void loop () {
char pogaNospiests = pad.getKey (); // iegūt simbolu no tastatūras, ja (buttonPressed) // parāda, kura poga tika nospiesta uz tastatūras {Serial.println (buttonPressed); }}
2. darbība: pievienojiet Micro Servo
Tagad pievienosim servomotoru. Šo ir patiešām viegli pievienot mūsu pašreizējam projektam, jo mikroserverim ir tikai trīs vadi.
- Brūns vads iet uz maizes dēļa zemējuma sliedi
- Sarkans iet uz barošanas sliedi
- Oranžais iet uz Arduino 3. tapu. Atcerieties, ka mikroserverim Arduino jābūt PWM tapai. Tas ir saistīts ar servo, kas izmanto TIMER2
Tagad tikai pārliecināsimies, vai mikro servo esam pieslēguši pareizi un vai tas kustas
#iekļaut #iekļaut "Servo.h"
const baitu rindas = 4; // četras rindas, jo tastatūra ir pilna
const baitu kolonnas = 4; // četras kolonnas, tādas pašas kā iepriekš
char pogas [rindas] [kolonnas] = {
{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', '' C '}, {'*',' 0 ','#',' D '}};
baitu rindaP [rindas] = {13, 12, 11, 10}; // tastatūras rindas tapas
baitu kolonnasP [kolonnas] = {9, 8, 7, 6}; // tastatūras kolonnu tapas
Tastatūras paliktnis = Tastatūra (makeKeymap (pogas), rinda P, kolonnasP, rindas, kolonnas); // izveidot tastatūru
Servo strāvaServo; // izveidot servo objektu, lai kontrolētu servo
// Lielākajā daļā dēļu var izveidot divpadsmit servo objektus
int pos = 0; // mainīgais, lai saglabātu servo pozīciju
void setup () {
Sērijas sākums (9600); currentServo.attach (3); // piestiprina servo 9. tapā pie servo objekta
}
void loop () {
char pogaNospiests = pad.getKey (); // iegūt simbolu no tastatūras, ja (buttonPressed) // parāda, kura poga tika nospiesta uz tastatūras {Serial.println (buttonPressed); }
currentServo.write (95);
}
3. darbība: mainiet kodu, lai izmantotu servo tastatūru
Ziniet, ka mēs modificēsim savu kodu tā, lai, nospiežot noteiktu tastatūras pogu, servo pārvietotos uz noteiktu pozīciju. Vispirms svarīga lieta. Servo pozīcija uz 0 bija dīvaina. Tā kā man bija nepārtrauktas rotācijas servo, ikreiz, kad tas pietuvojās 0, servo tikko sāka griezties. Skaitlis, ko es ievietoju kodā, bija tik zems, cik es varēju iet bez tā. Jebkurā gadījumā, šeit ir mans galīgais kods:
#iekļaut #iekļaut
const baitu rindas = 4; // četras rindas, jo tastatūra ir pilna
const baitu kolonnas = 4; // četras kolonnas, tādas pašas kā iepriekš
char pogas [rindas] [kolonnas] = {
{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', '' C '}, {'*',' 0 ','#',' D '}};
baitu rindaP [rindas] = {13, 12, 11, 10}; // tastatūras rindas tapas
baitu kolonnasP [kolonnas] = {9, 8, 7, 6}; // tastatūras kolonnu tapas
Tastatūras paliktnis = Tastatūra (makeKeymap (pogas), rinda P, kolonnasP, rindas, kolonnas); // izveidot tastatūru
Servo myServo; //
void setup () {
Sērijas sākums (9600); myServo.attach (5); // piestiprina servo 9. tapā pie servo objekta}
void loop () {
char taustiņš = pad.getKey (); // iegūt simbolu no tastatūras, ja (taustiņš == '0') {myServo.write (11); Serial.println ("0"); kavēšanās (15); } ja (atslēga == '1') {myServo.write (12); Serial.println ("1"); kavēšanās (15); } ja (atslēga == '2') {myServo.write (24); Serial.println ("2"); kavēšanās (15); } ja (atslēga == '3') {myServo.write (36); Serial.println ("3"); kavēšanās (15); }
ja (atslēga == '4')
{myServo.write (48); Serial.println ("4"); kavēšanās (15); }
ja (atslēga == '5')
{myServo.write (60); Serial.println ("5"); kavēšanās (15); }
ja (atslēga == '6')
{myServo.write (72); Serial.println ("6"); kavēšanās (15); }
ja (atslēga == '7')
{myServo.write (84); Serial.println ("7"); kavēšanās (15); }
ja (atslēga == '8')
{myServo.write (96); Serial.println ("8"); kavēšanās (15); }
ja (atslēga == '9')
{myServo.write (108); Serial.println ("9"); kavēšanās (15); }
ja (atslēga == '*')
{myServo.write (120); Serial.println ("*"); kavēšanās (15); }
ja (atslēga == '#')
{myServo.write (132); Serial.println ("#"); kavēšanās (15); }
ja (atslēga == 'A')
{myServo.write (146); Serial.println ("A"); kavēšanās (15); }
ja (atslēga == 'B')
{myServo.write (158); Serial.println ("B"); kavēšanās (15); }
ja (atslēga == 'C')
{myServo.write (170); Serial.println ("C"); kavēšanās (15); }
ja (atslēga == 'D')
{myServo.write (180); Serial.println ("D"); kavēšanās (15); }}
Ieteicams:
DIY analogais zvanītājs uz USB tastatūru: 4 soļi
DIY analogais zvanītājs uz USB tastatūru: es izveidoju šo projektu tikai prieka pēc, bet šī lieta darbojas kā parasta tastatūra ar visu. Izklaidējieties
Arduino kalkulators, izmantojot 4X4 tastatūru: 4 soļi (ar attēliem)
Arduino kalkulators, izmantojot 4X4 tastatūru: šajā apmācībā mēs izveidosim savu kalkulatoru ar Arduino. Vērtības var nosūtīt, izmantojot tastatūru (4 × 4 tastatūra), un rezultātu var apskatīt LCD ekrānā. Šis kalkulators varētu veikt vienkāršas darbības, piemēram, saskaitīšanu, atņemšanu, reizināšanu
Ar tastatūru vadāms dzelzceļa modeļa izkārtojums V2.5 - PS/2 saskarne: 12 soļi
Ar tastatūru vadāms dzelzceļa modeļa izkārtojums V2.5 | PS/2 saskarne: izmantojot Arduino mikrokontrollerus, ir daudz veidu, kā kontrolēt dzelzceļa modeļu izkārtojumu. Tastatūrai ir liela priekšrocība, jo tai ir daudz taustiņu, lai pievienotu daudzas funkcijas. Lūk, redzēsim, kā mēs varam sākt ar vienkāršu izkārtojumu ar lokomotīvi
Pārvērtiet savu QWERTY tastatūru par CYRLLIC (Для Россиян) WINDOWS vai ANDROID: 4 soļi
Pārvērtiet savu QWERTY tastatūru par CYRLLIC (Для Россиян) WINDOWS vai ANDROID: Šī ir ļoti vienkārša apmācība tiem, kas vēlas pārvērst (faktiski jebkuru) tastatūru krievu/kirilicas tastatūrā. Tas, ko mēs darīsim, nav pastāvīga lietojumprogramma, un jūs jebkurā laikā varat atgriezties pie sākotnējiem tastatūras iestatījumiem
Pozicionēšana Con Arduino + 3G + GPS + SMS: 4 soļi
Pozicionēšana Con Arduino + 3G + GPS + SMS: Algunos proyectos se encuentran en movimiento y se necesita saber su posici ó n en alg ú n instantes, este ya sea por sobrepasar alg ú n valor como por ejemplo de temperatura o accionados mediante. Para este caso se puede