Table of Contents

Ioana-Irina BĂEȚICA (78449) - SpookyDoll

Autorul poate fi contactat la adresa: Login pentru adresa

Introducere

Acest proiect consta in realizarea unei papusi infricosatoare ai carei ochi, reprezentati de 2 led-uri rosii, trebuiesc stinsi urmand o serie de miscari cum ar fi apasari de butoane intr-o anumita ordine combinate cu schimbarea pozitiei jucariei. Papusa da de inteles daca s-a executat o miscare potrivita sau nu prin sunetele pe care le scoate in urma acesteia. Ideea a fost inspirata de la unul dintre proiectele listate in Room of inspiration (InteractiveToy), dar am dorit sa ii dau o nota personala. Consider ca proiectul meu ar putea face parte cu succes dintr-un decor de Halloween sau, de ce nu, ar putea sa starneasca interesul copiilor, fiind ceva neconventional si interactiv.

Descriere generală

Schema bloc a proiectului:

Apasarea butoanelor sau schimbarea pozitiei jucariei (inregistrata de accelerometru) determina activarea anumitor bucati audio, memorate pe cardul SD. Realizarea acestor actiuni intr-o anumita ordine determina stingerea led-urilor.

Hardware Design

Lista de piese:

  1. placa de baza
  2. soclu card SD
  3. card SD
  4. difuzor de 8 ohmi
  5. amplificator audio LM386
  6. accelerometru mpu6050
  7. 2 butoane
  8. 2 led-uri rosii de 5mm
  9. 2 rezistente
  10. fire
  11. 1 mini-breadboard
  12. ftdi232 pentru debugging
  13. cablu USB pentru alimentare placa
  14. cablu mini-USB pentru conectare ftdi

Schema electrica:

Microprocesor:

Accelerometru:

Difuzor:

CardSD:

Butoane si LED-uri:

Software Design

-Am folosit ca mediu de dezvoltare Atmel Studio 7.0.

-Implementarea consta in testarea unor conditii, pe baza pasilor urmati anterior de utilizator. Scopul este stingerea celor 2 led-uri care sunt initial parinse. Primul pas este reprezentat de apasarea butonului conectat la pinul PB2. Al doilea pas, apasarea lui PD6. Pentru apasarea in ordinea corecta, este redat la fiecare apasare un anumit fisier WAV de pe card, iar pentru apasarea in ordine gresita, un altul. Pentru a trece la urmatoarea etapa este necesara apasarea(la un moment dat) in ordinea stabilita. Apoi, se asteapta detectarea unei miscari. LED-urile se sting cand se detecteaza ovariatie suficient de mare pe axa Ox a accelerometrului. Am folosit comunicatia seriala pentru a face debugging. Redarea fisierelor audio am plecat de la sursele si scheletul laboratorului 4, pentru comunicatia seiala am folosit sursele laboratorului 1(pentru usart), iar pentru citirea datelor accelerometrului am folosit biblioteci gasite online.

-Nu am folosit intreruperi pe butoane deoarece am descoperit ca nu ma pot sa redau fisierul audio daca fac acest lucru. Tot asa, dupa initializare structurilor pentru acelerometru folosind functia de init din biblioteca pe care am folosit-o, nu am mai putut reda niciun fisier audio, programul blocandu-se.

Rezultate Obţinute

ARkrctAO6q4

Concluzii

Conclziamea este ca dificultatea a temei a fost reprezentata de lipsa experientei in realizarea unui astfel de proiect. Desi nu am intampinat probleme majore, nu am resusit sa explic sau sa identific cu exactititate anumite comportamente ale aplicatiei mele si m-am limitat la a gasi o solutie care sa o faca functionala. Consider ca a fost un prim pas important intr-un domeniu pe care il cunosc mai putin.

Download

Surse: baeticaioana-irina_proiectpm.zip

Bibliografie/Resurse

Resurse Software

Resurse Hardware