This shows you the differences between two versions of the page.
pm:prj2023:ndrogeanu:boxargb [2023/05/29 19:22] george.tudose2504 [Software Design] |
pm:prj2023:ndrogeanu:boxargb [2023/05/29 19:36] (current) george.tudose2504 [Software Design] |
||
---|---|---|---|
Line 62: | Line 62: | ||
* **refresh()**: Această funcție activează rederesanrea ecranului corect la un interval de 1min. | * **refresh()**: Această funcție activează rederesanrea ecranului corect la un interval de 1min. | ||
* Butoanele de next și prev sunt controlate prin întruperile **INT1 și INT2**. | * Butoanele de next și prev sunt controlate prin întruperile **INT1 și INT2**. | ||
- | * Butonul de select este controlat în funcția de **loop()**. | + | * Butonul de select este controlat în funcția de **loop()**. (SoftwareSerial folosit de DFPlayer Mini nu permite utilizarea întreruperilor PCInt) |
** Pentru controlul benzii LED** | ** Pentru controlul benzii LED** | ||
Line 69: | Line 69: | ||
=== Logica Programului === | === Logica Programului === | ||
* Se verifcă dacă ecranul are nevoie de un refresh. | * Se verifcă dacă ecranul are nevoie de un refresh. | ||
- | * Se citește valoarea de pe senzorul conectat la A0, și in funcție de valoare citită se alege o culoarea corespunzătoare. Pinii 9, 10, 11 (PWN) controlează culoarea benzii. | + | * Se verifică starea butonului de select. În caz de apăsarea, în funcție de meniul curent și starea curentă în interfață se realizeaza ori o modificare în interfață ori/și o comandă către modulul DFPlayer mini. |
- | * Se verifică starea butonului de select. În caz de apăsarea, în funcție de meniul curent și starea curentă în interfață se realizeaza ori o modificare în interfață ori o modificare a modului DFPlayer mini. | + | |
* În cazul în care s-a apăsat pe butonul select, se actualizează ecranul afișat pe OLED. | * În cazul în care s-a apăsat pe butonul select, se actualizează ecranul afișat pe OLED. | ||
+ | * Se dezactivează SoftwareSerial stream, deoarece implementarea sa nu este compatibilă cu analogWrite și analogRead | ||
+ | * Se citește valoarea de pe senzorul conectat la A0, și in funcție de valoare citită se alege o culoarea corespunzătoare. Pinii 9, 10, 11 (PWN) controlează culoarea benzii. | ||
+ | * Se reactivează SoftwareSerial Stream fără a reseta modulul Mini Player. | ||
===== Rezultate Obţinute ===== | ===== Rezultate Obţinute ===== | ||
**Rezultate obținute după etapa Hardware** | **Rezultate obținute după etapa Hardware** | ||
- | |||
| {{:pm:prj2023:ndrogeanu:hardware_rgb_1_.jpg?350|}} | {{:pm:prj2023:ndrogeanu:hardware_rgb_2_.jpg?350|}} | | | {{:pm:prj2023:ndrogeanu:hardware_rgb_1_.jpg?350|}} | {{:pm:prj2023:ndrogeanu:hardware_rgb_2_.jpg?350|}} | | ||
| {{:pm:prj2023:ndrogeanu:hardware_rgb_3_.jpg?350|}} | {{:pm:prj2023:ndrogeanu:hardware_rgb_4_.jpg?350|}} | | | {{:pm:prj2023:ndrogeanu:hardware_rgb_3_.jpg?350|}} | {{:pm:prj2023:ndrogeanu:hardware_rgb_4_.jpg?350|}} | | ||
+ | |||
+ | **Rezultate obținute după etapa Software (Ecranul OLED)** | ||
+ | | {{:pm:prj2023:ndrogeanu:rgb_ecran_oled_mp3_1_.jpg?200|}} | {{:pm:prj2023:ndrogeanu:rgb_ecran_oled_mp3_2_.jpg?200|}} | {{ :pm:prj2023:ndrogeanu:rgb_ecran_oled_mp3_3_.jpg?200|}} | | ||
+ | |||
+ | **Demo Funcționalitate Proiect** | ||
+ | https://www.youtube.com/watch?v=CzFys5a_zP0 | ||
+ | |||
+ | |||
===== Concluzii ===== | ===== Concluzii ===== | ||
* Codul prezentat demonstrează utilizarea bibliotecilor și funcțiilor specifice Arduino pentru a controla diverse componente hardware, cum ar fi senzorul analogic, ecranul OLED, difuzorul și LED-urile RGB. | * Codul prezentat demonstrează utilizarea bibliotecilor și funcțiilor specifice Arduino pentru a controla diverse componente hardware, cum ar fi senzorul analogic, ecranul OLED, difuzorul și LED-urile RGB. | ||
Line 87: | Line 96: | ||
<note warning> | <note warning> | ||
- | * {{:pm:prj2023:ndrogeanu:cod_rgb_mp3.rar|}} | + | *Cod Arhivă {{:pm:prj2023:ndrogeanu:cod_rgb_mp3.zip|}} |
</note> | </note> | ||