Deoarece placa Arduino (Uno, Nano) are mai multi pini, putem extinde proiectul cu macazul actionat de servo
la 4 macazuri, fiecare macaz cu servomotorasul lui, cate 2 butoane de comanda (in stanga / in dreapta, drepta inainte / in stanga, etc) si cate o iesire pentru indicare directie.
Schema este urmatoarea, fiecare servomotor e conectat la cate un pin PWM (am ales D6, D9, D10 si D11)
In articolul PWM in Arduino este o imagine sugestiva:
Definirea pinilor folositi, la schema mea, este facuta in programul albasete_macaz_2b.ino15.02.2022
Am simulat functionarea programului cu ajutorul programului SimulIDE:
incarcand hex-ul programului meu si am observat ca functionarea este cea corecta, pentru fiecare din cele 4 servomotorase, dupa cum se vede si in cele 2 filmulete:16.02.2022
Dragos (albasete) a inceput sa faca teste cu un macaz real conectat la servomotor). A montat pentru teste pe o placa de forex macazul și servo. In capetele macazului a pus pluta de 2 mm sa nu frece tija de placa și sa culiseze lejer.
Dragos mi-a trimis si un filmulet
Dupa niste discutii cu Dragos, am implementat si memorarea ultimelor pozitii, pentru a evita socurile mecanice la macaze. Programul ce memoreaza pozitiile in EEPROM-ul microcontrolerului de pe placa Arduino este albasete_macaz_3.ino si memoreaza valori doar daca sunt diferite de cele din memorie si la la 5 secunde de la ultima actionare. 17.02.2022
Intre timp, am facut 2 filmulete cu doar 2 servo (astea le-am avut la indemana):
Intarzieree scrierii valorilor fiecarui servo, se recomanda a fi mai mare, in caz ca se tot misca macazele, pentru a uza memoria EEPROM, in ultimul program este dupa 5 secunde dupa ultipa apasare a oricarui buton de comanda (asta si pentru a fi usor de yurmarit la tesste)
Niciun comentariu:
Trimiteți un comentariu