This shows you the differences between two versions of the page.
pm:prj2024:rpascale:stan.petrisor [2024/05/11 16:23] petrisor.stan [Software Design] |
pm:prj2024:rpascale:stan.petrisor [2024/05/20 21:47] (current) petrisor.stan [Software Design] |
||
---|---|---|---|
Line 6: | Line 6: | ||
===== Descriere generală ===== | ===== Descriere generală ===== | ||
- | Servomotoarele vor fi conectate la modulul cu driver de motoare L298N, dar si la Arduino cu pinul de semnal. Modulul va fi, in consecință conectat la jack-ul DC, care este conectat la sursa de alimentare. De asemenea, atât senzorul tactil, buzzerul, cât si LED-urile vor fi conectate la Arduino. La primirea unui semnal de la senzorul tactil, microcontroller-ul va începe sa trimită semnale către buzzer pentru producerea de sunete, către LED-uri pentru a fi aprinse si oprite(simularea clipirii) cât si către cele doua servomotoare astfel încât mișcările mâinilor sa fie simulate cu succes. Dupa un moment de timp robotelul va opri dansul. | + | Servomotoarele vor fi conectate la modulul cu driver de motoare L298N, dar si la Arduino cu pinul de semnal. Modulul va fi, in consecință conectat la jack-ul DC, care este conectat la sursa de alimentare. De asemenea, atât senzorul tactil, buzzerul, cât si LED-urile vor fi conectate la Arduino. La primirea unui semnal de la senzorul tactil, microcontroller-ul va începe sa trimită semnale către buzzer pentru producerea de sunete, către LED-uri pentru a fi aprinse si oprite(simularea clipirii) cât si către cele doua servomotoare astfel încât mișcările mâinilor sa fie simulate cu succes. Dupa un moment de timp robotelul va opri dansul.\\ |
P.S.: Datorita faptului ca nu este necesara alimentarea de la o sursa externa alaturi de un driver de motor, s-a renuntat la urmatoarele piese: L298N, Jack DC, Sursa Alimentare. | P.S.: Datorita faptului ca nu este necesara alimentarea de la o sursa externa alaturi de un driver de motor, s-a renuntat la urmatoarele piese: L298N, Jack DC, Sursa Alimentare. | ||
Line 27: | Line 27: | ||
{{:pm:prj2024:rpascale:catalin_robodance.png?600|}} | {{:pm:prj2024:rpascale:catalin_robodance.png?600|}} | ||
- | |||
- | |||
Implementarea schemei electrice: | Implementarea schemei electrice: | ||
Line 41: | Line 39: | ||
===== Software Design ===== | ===== Software Design ===== | ||
- | |||
- | Mediul de dezvoltare folosit pentru realizarea proiectului a fost Arduino IDE, in timp ce libraria externa folosita este Servo.h, utilizata pentru a putea controla servomotoarele SG90.\\ | ||
- | Ca parte a codului propriu-zis, s-a realizat implementarea a 3 functii: void setup(), void loop(), void do_dance().\\ | ||
- | Functia do_dance() are ca scop setarea unei variabile pe 1 astfel incat functia loop() sa execute, intr-un for, stingerea si aprinderea becurilor LED, pornirea buzzer-ului cu o anumita valoare si miscarea servomotoarelor. Pe de alta parte, functia setup() asigura atasarea pinilor 7 si 8 la obiectele de tip Servo ce au ca scop sa poata porni servomotoarele, impreuna cu setarea pinilor 12, 13 si A1 drept output(LED-urile + Buzzer-ul) si setarea pinului 2 drept input. Pe langa aceste initializari, functia setup() asigura functionalitatea unei intreruperi in momentul in care senzorul touch detecteaza o apasare(do_dance() este functia de intrerupere).\\ | ||
- | |||
- | Cod sursa:\\ | ||
- | {{:pm:prj2024:rpascale:stan_petrisor_cod_sursa.txt|}} | ||
- | |||
- | Libraria folosita:\\ | ||
- | {{:pm:prj2024:rpascale:servo-master.zip|}} | ||
- | |||
<note tip> | <note tip> | ||
Descrierea codului aplicaţiei (firmware): | Descrierea codului aplicaţiei (firmware): | ||
Line 60: | Line 47: | ||
</note> | </note> | ||
+ | |||
+ | Mediul de dezvoltare folosit pentru realizarea prolectului a fost Arduino IDE, in timp ce libraria externa folosita este Servo.h, utilizata pentru a putea controla servomotoarele SG90. | ||
+ | Ca parte a codului propriu-zis, s-a realizat implementarea a 3 functii: void setup(), void loop(), void do_dance(). | ||
+ | Functia do_dance() are ca scop setarea unei variabile pe 1 astfel incat functia loop() sa execute, intr-un for, stingerea si aprinderea becurilor LED, pornirea buzzer-ului cu o anumita valoare si miscarea servomotoarelor. Pe de alta parte, functia setup() asigura atasarea pinilor 7 si 8 la obiectele de tip Servo ce au ca scop sa poata porni servomotoarele, impreuna cu setarea pinilor 12, 13 si A1 drept output(LED-urile + Buzzer-ul) si setarea pinului 2 drept input. Pe langa aceste initializari, functia setup() asigura functionalitatea unel intreruperi in momentul in care senzorul touch detecteaza o apasare(do_dance()) este functia de intrerupere).\\ | ||
+ | |||
+ | Codul sursa este:\\ | ||
+ | {{:pm:prj2024:rpascale:stan_petrisor_334ca_source_code_final.txt|}} | ||
+ | |||
+ | Libraria externă folosită este:\\ | ||
+ | {{:pm:prj2024:rpascale:servo-master-petrisor.zip|}} | ||
===== Rezultate Obţinute ===== | ===== Rezultate Obţinute ===== | ||