This shows you the differences between two versions of the page.
pm:prj2024:rpascale:stan.petrisor [2024/05/11 15:55] petrisor.stan [Descriere generală] |
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 14: | Line 14: | ||
Lista piese:\\ | Lista piese:\\ | ||
*Arduino | *Arduino | ||
- | *Modul driver L298N | + | *Modul driver L298N(x) |
*2 servomotoare SG190 | *2 servomotoare SG190 | ||
*Breadboard | *Breadboard | ||
*LED(1 beculeț roșu, 1 beculeț verde) | *LED(1 beculeț roșu, 1 beculeț verde) | ||
- | *Jack DC | + | *Jack DC(x) |
- | *Sursa alimentare 5V | + | *Sursa alimentare 5V(x) |
*Senzor tactil TTP223 | *Senzor tactil TTP223 | ||
*Buzzer | *Buzzer | ||
+ | Schema Electrica: | ||
+ | |||
+ | |||
+ | {{:pm:prj2024:rpascale:catalin_robodance.png?600|}} | ||
+ | Implementarea schemei electrice: | ||
+ | |||
+ | {{:pm:prj2024:rpascale:implementarehardwarecatalin.jpeg?400|}} | ||
<note tip> | <note tip> | ||
Aici puneţi tot ce ţine de hardware design: | Aici puneţi tot ce ţine de hardware design: | ||
Line 32: | Line 39: | ||
===== Software Design ===== | ===== Software Design ===== | ||
- | |||
- | |||
<note tip> | <note tip> | ||
Descrierea codului aplicaţiei (firmware): | Descrierea codului aplicaţiei (firmware): | ||
Line 42: | 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 ===== | ||