This shows you the differences between two versions of the page.
|
pm:prj2024:rpascale:stan.petrisor [2024/05/05 22:08] 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. Daca senzorul tactil detectează din nou o apăsare sau se generează o întrerupere după un timer ce indica faptul ca roboțelul s-a mișcat destul, microcontroller-ul va opri dansul, încetând totodata sa cânte. | + | 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. | ||
| - | {{:pm:prj2024:rpascale:stan_petrisor_updated.png?600|}} | + | {{:pm:prj2024:rpascale:stan_petrisor_final.png?600|}} |
| ===== Hardware Design ===== | ===== Hardware Design ===== | ||
| 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 31: | Line 39: | ||
| ===== Software Design ===== | ===== Software Design ===== | ||
| - | |||
| - | |||
| <note tip> | <note tip> | ||
| Descrierea codului aplicaţiei (firmware): | Descrierea codului aplicaţiei (firmware): | ||
| Line 41: | 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 ===== | ||