This shows you the differences between two versions of the page.
pm:prj2021:alazar:alchemy_lights [2021/06/03 12:34] silviu_marian.alecu [Hardware Design] |
pm:prj2021:alazar:alchemy_lights [2021/06/03 19:01] (current) silviu_marian.alecu [Software Design] |
||
---|---|---|---|
Line 17: | Line 17: | ||
===== Descriere generală ===== | ===== Descriere generală ===== | ||
- | {{:pm:prj2021:alazar:alchemy_lights_diagram_with_wires.png?700|}} | + | Ma folosesc de modulul bluetooth pentru a trimite date de la o aplicatie android catre arduino. |
+ | Ma conenctez la bluetooth si trimit date astfel: | ||
+ | -Mic On: pornesc functia de animatie a led-urilor in functie de ce date primesc de la modul de microfon | ||
+ | -Mic Off: opresc functia de animatie corespunzatoare microfonului | ||
+ | -In functie de ce culoare selectez din Color Wheel din aplicatie trimit RGB catre arduino si setez banda de led-uri | ||
+ | -In functie de ce animatie selectez din pagina de moduri aplic animatia pe led-uri | ||
===== Hardware Design ===== | ===== Hardware Design ===== | ||
- | <note tip> | + | Lista piese: |
- | Aici puneţi tot ce ţine de hardware design: | + | |
- | * listă de piese | + | |
- | * scheme electrice (se pot lua şi de pe Internet şi din datasheet-uri, e.g. http://www.captain.at/electronic-atmega16-mmc-schematic.png) | + | |
- | * diagrame de semnal | + | |
- | * rezultatele simulării | + | |
- | </note> | + | |
- | Lista piese: | ||
- Arduino Uno | - Arduino Uno | ||
+ | |||
- Modul Bluetooth HC-05 FC 114 | - Modul Bluetooth HC-05 FC 114 | ||
+ | |||
- Modul Microfon Electret cu Amplificator MAX9814 | - Modul Microfon Electret cu Amplificator MAX9814 | ||
- | - Leduri RGB la banda (Neopixels) WS2812B | + | |
+ | - Leduri RGB la banda WS2812B | ||
+ | |||
+ | |||
+ | Schema electrica: | ||
+ | |||
+ | {{: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 51: | 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 69: | 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]] |