RoboDance

Introducere

RoboDance este un robot in miniatura ce executa mișcări repetate ale mâinii pentru a simula ‘dansul’, in timp ce cântă. Scopul acestuia este de a înveseli oameni ce petrec foarte mult timp la birou. Ideea de la care am pornit a fost o metoda ciudatica de debug:”Rubber Duck Debugging Method” in care explici unei rățuște de cauciuc codul pe care l-ai scris in speranța ca vei reuși sa repari programul; si daca se poate cu o rățușcă, de ce nu se poate si cu un roboțel? Fiind o posibilă sursa de amuzament, acest roboțel poate fi util in ridicarea moralului oamenilor ce au job-uri la birou, ducând totodata la creșterea productivității. }

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.
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.

Hardware Design

Lista piese:

  • Arduino
  • Modul driver L298N(x)
  • 2 servomotoare SG190
  • Breadboard
  • LED(1 beculeț roșu, 1 beculeț verde)
  • Jack DC(x)
  • Sursa alimentare 5V(x)
  • Senzor tactil TTP223
  • Buzzer

Schema Electrica:

Implementarea schemei electrice:

Aici puneţi tot ce ţine de hardware design:

Software Design

Descrierea codului aplicaţiei (firmware):

  • mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR)
  • librării şi surse 3rd-party (e.g. Procyon AVRlib)
  • algoritmi şi structuri pe care plănuiţi să le implementaţi
  • (etapa 3) surse şi funcţii implementate

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:
stan_petrisor_334ca_source_code_final.txt

Libraria externă folosită este:
servo-master-petrisor.zip

Rezultate Obţinute

Care au fost rezultatele obţinute în urma realizării proiectului vostru.

Concluzii

Download

O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectului: surse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună ;-).

Fişierele se încarcă pe wiki folosind facilitatea Add Images or other files. Namespace-ul în care se încarcă fişierele este de tipul :pm:prj20??:c? sau :pm:prj20??:c?:nume_student (dacă este cazul). Exemplu: Dumitru Alin, 331CC → :pm:prj2009:cc:dumitru_alin.

Jurnal

Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului.

Bibliografie/Resurse

Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe Resurse Software şi Resurse Hardware.

Export to PDF

pm/prj2024/rpascale/stan.petrisor.txt · Last modified: 2024/05/20 21:47 by petrisor.stan
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0