This shows you the differences between two versions of the page.
pm:prj2021:alazar:alchemy_lights [2021/06/03 12:46] silviu_marian.alecu [Descriere generală] |
pm:prj2021:alazar:alchemy_lights [2021/06/03 19:01] (current) silviu_marian.alecu [Software Design] |
||
---|---|---|---|
Line 36: | Line 36: | ||
- Modul Microfon Electret cu Amplificator MAX9814 | - Modul Microfon Electret cu Amplificator MAX9814 | ||
- | - Leduri RGB la banda (Neopixels) WS2812B | + | - Leduri RGB la banda WS2812B |
Line 43: | Line 43: | ||
{{:pm:prj2021:alazar:alchemy_lights_diagram_with_wires.png?700|}} | {{:pm:prj2021:alazar:alchemy_lights_diagram_with_wires.png?700|}} | ||
===== Software Design ===== | ===== Software Design ===== | ||
+ | |||
+ | **Arduino** | ||
+ | |||
+ | Am folosit Arduione IDE pentru programare. | ||
+ | |||
+ | M-am folosit de libraria de FastLED si FHT pentru a seta banda de led-rui. | ||
+ | |||
+ | In setup() initializez banda de led-uri, setez adc pentru datele primite de la microfon, setez modulul bluetooth ca SoftwareSerial(2,3) (RX, TX) si atasez intreruperile pe pe porturile 2, 3 pentru a fi pregatit tot timpul sa primeasca date de la bluetooth. | ||
+ | |||
+ | In pin_ISR() primesc datele de la bluetooth, iar, in functie de ce date primesc pregatesc valorile pentru loop(). | ||
+ | |||
+ | Functia play() o apelez in loop(), iar aceasta seteaza banda de led-uri in functie de ce date am primit de la bluetooth: | ||
+ | - playLeds() - functia de animatie atunci cand microfonul este pornit. Ma folosesc de FHT pentru a aplica transformata Fourier pe inputul primit de la microfon, setez octavele si noise level, apoi calculez RGB pentru fiecare bucata de 11 led-uri. | ||
+ | - playEffect() - alege animatia in functie de ce a primit de la bluetooth() (Animatiile le-am gasit pe net); | ||
+ | |||
+ | |||
+ | **Aplicatia Android** - Alchemy Lights | ||
+ | |||
+ | Am folosit Android Studio pentru aplicatie. | ||
+ | |||
+ | Ma conectez la bleutooth(HC-05) si trimit date catre arduino. | ||
+ | |||
+ | {{:pm:prj2021:alazar:alchemy_lights_app1.jpg?200|}} | ||
+ | {{:pm:prj2021:alazar:alchemy_lights_app2.jpg?200|}} | ||
- | <note tip> | ||
- | 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 | ||
- | </note> | ||
===== Rezultate Obţinute ===== | ===== Rezultate Obţinute ===== | ||
Line 58: | Line 75: | ||
{{:pm:prj2021:alazar:20210602_164315.jpg?300|}} | {{:pm:prj2021:alazar:20210602_164315.jpg?300|}} | ||
+ | |||
+ | Link video prezentare functionalitati. [[https://drive.google.com/file/d/1pCYuVZJ-yYTuGv9I49iaWnCl4s3IVj0e/view?usp=sharing| Alchemy Lights]] | ||
===== Concluzii ===== | ===== Concluzii ===== | ||
+ | Proiectul mi-a placut foarte mult si a fost foarte interesant sa lucrez cu arduino. | ||
+ | Pe viitor, as vrea sa mai completez led-uri si sa imbunatatesc proiectul. | ||
===== Download ===== | ===== Download ===== | ||
- | <note warning> | + | {{:pm:prj2021:alazar:alchemy_lights.rar|Cod sursa}} |
- | 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**. | + | |
- | </note> | + | |
===== Jurnal ===== | ===== Jurnal ===== | ||
Line 76: | Line 93: | ||
===== Bibliografie/Resurse ===== | ===== Bibliografie/Resurse ===== | ||
- | |||
- | <note> | ||
- | Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. | ||
- | </note> | ||
[[https://create.arduino.cc/projecthub/buzzandy/music-reactive-led-strip-5645ed?ref=similar&ref_id=376065&offset=0|Microfon]] | [[https://create.arduino.cc/projecthub/buzzandy/music-reactive-led-strip-5645ed?ref=similar&ref_id=376065&offset=0|Microfon]] |