This is an old revision of the document!
FRIENDLY Baby Yoda
Introducere
Cu totii ne-am plictisit de jucariile clasice care sunt mereu vesele si care inspira un aer pozitiv. Eu o sa fac o jucarie
pasiva-agresiva care va impartasi ura si glume, o jucarie mai amuzanta care nu este detinata copiilor, va fi fioroasa
cu ochii rosii si o voce agresiva, dar sub o cochilie safe de baby yoda.
Prezentarea pe scurt a proiectului vostru:
Jucarie care se conecteaza la orice boxa portabila (Broadcast)
Apesi pe butoane ca sa auzi melodii / audio-uri amuzante
Led-uri care se aprind in functie de intensitate
Joc interactiv de memorie
Joc interactiv de aruncat in sus
Descriere generală
Jucăria este compusă dintr-un modul principal cu microcontroler, senzori de mișcare, boxa portabila, LED-uri rosii.
Jucaria va avea un corp de baby yoda in care voi pune piese hardware ca sa devina “inteligenta”.
Aceasta are 2 butoane pe brate ca sa poti interactiona cu ea, dar nu doar atat, si un accelerometru (WOW), astfel sa-si dea seama daca
o zgudui prea tare sau daca o arunci in sus. Foloseste o tehnologie wireless foarte avansata numita Bluetooth ca sa se conecteze la (TOATE)
boxele portabile pornite in jur si sa-si faca glasul auzit (E si o unealta de terorism din acest motiv). Are mai multe interactiuni gata de
folosit de catre useri, este rezistenta, lipita si rezista la cazaturi (si la copii de 3 ani, am testat).
Hardware Design
Toate modulele comunică cu microcontrolerul (ESP32 sau similar). Codul rulează local, cu opțională conectare la internet pentru generarea de replici.
Aici puneţi tot ce ţine de hardware design:
Microcontroler ESP32
2 Led-uri Rosii
Modul Card Sd cu operatii de read si write (Nu mp3)
Modul Accelerometru
2 rezistente de 220 Ohm
Baterie 5v reincarcabila
Cablu Micro Usb → Micro usb
Placa de dezvoltare pentru lipit
Card Micro Sd minim 2GB
Poza prototip 1:
Poza prototip 2:
Poza dupa lipit complet:
Software Design
Descrierea codului aplicației (firmware):
Platformă: Arduino IDE
Librării folosite:
SPI.h, SD.h – acces card SD (Lab 4, Lab 5)
BluetoothA2DPSource.h – streaming audio prin Bluetooth
Wire.h, Adafruit_Sensor.h, Adafruit_ADXL345_U.h – accelerometru ADXL345 (Lab 2)
math.h, Arduino.h
Surse 3rd-party:
Funcționalități:
Inițializare SD card
Redare fișiere WAV prin Bluetooth
LED-uri controlate PWM în funcție de intensitatea sunetului
Butoane cu debounce
Joc de memorie cu LED-uri și butoane
Detectare mișcare (shake) cu accelerometru
LED breathing în stare de idle
Double-tap pentru lansarea jocului
Feedback audio + LED la fiecare nivel
Algoritmi și structuri:
Debounce software cu timere
Generare secvențe aleatoare cu random()
Comparare input utilizator cu secvență memorată
Calcul accelerație totală (sqrt x²+y²+z²)
Control PWM cu ledcWrite și ledcAttach
Callback-uri audio pentru Bluetooth
Funcții implementate (etapa 3):
get_audio_data() – trimite date audio prin Bluetooth
playFile() – redă fișier audio de pe SD
startMemoryGame(), showSequence(), handleMemoryGame(), gameOver(), gameWin()
setup(), loop()
Laboratoare utilizate:
Lab 0: Folosire led-uri, un fel de semafor.
Lab 1: Am folosit PWM și debounce ca sa nu se apese butoanele de prea multe ori
Lab 2: Am folosit timere pentru jocul interactiv de memorie.
Lab 5: Am folosit conceptele din lab 5 despre protocolul SPI si card SD pentru a citi fisiere .wav de pe SD si a le reda prin Bluetooth folosind ESP32.
Lab 6: Am folosit protocolul I2C din lab 6 pentru a citi acceleratia de la senzorul ADXL345 prin comenzi Wire pe ESP32.
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