This is an old revision of the document!
Proiectul presupune constriurea unei masinute care sa se mentina la o distanta constanta data ca input fata ce cel mai apropriat obiect. Acest lucru poate fi util atat pentru masurarea unei distante cat si pentru urmarirea unui obiect aflat in miscare sau metinerea constanta a unei distante dintre doua obiecte.
Masinuta va folosi un senzor cu ultrasunete pentru a masura distanata, va fi construita pe baza unei platforme cu 2 motoare controlate printr-un driver, va folosi 2 afisaje led cu 2 cifre pentru a afisa distanta data ca input si distanta curenta fata de obiectul din fata. Input-ul de distanta va vi dat print-un potentiometru pentru usurinta in utilizare, iar pentru a indica status-ul va fi folosit un led RGB. Pentru pornire/oprire va fi folosit un buton.
Functionalitatile proiectului au fost implementate in Arduino IDE folosind functii sepecifice acestuia.
Pentru extragerea unei valori de input de la potentiometru citesc valoarea generata de acesta pe un pin analog. Prin folosirea senzorului ultrasonic se contorizeaza perioada de timp intre trimierea unui semnal si receptionarea reflexiei acestuia, apoi se imparte la viteza sunetului si se afla distanta pana la primul obiect. Se face diferenta celor doua valori, iar semnul dicteaza directia de mers.
Daca distanta de parcurs este mai mare de un prag atunci masinuta va merge la viteza maxima, iar dupa depasirea pragului masinuta isi va micsora viteza cu cat se micsoreaza distanta. Acest lucru ajuta ca masinuta sa se stabilizeze mai rapid.
Cate doi pini de directie si un pin de enable controleza fiecare motor prin intermediul driver-ului de motoare.
Modulele de display led cu 7 segmente sunt controlate prin intermediul unei biblioteci. Pentru fiecare modul este necesar (pe langa Vcc si GND) un pin de date, unul cu semnal de ceas, si un pin de latch care sa permulte intre cele doua display-uri de pe fiecare modul.