This shows you the differences between two versions of the page.
pm:prj2023:ndrogeanu:boxargb [2023/05/28 15:25] george.tudose2504 [Software Design] |
pm:prj2023:ndrogeanu:boxargb [2023/05/29 19:36] (current) george.tudose2504 [Software Design] |
||
---|---|---|---|
Line 50: | Line 50: | ||
* //__SoftwareSerial.h__ și __DFRobotDFPlayerMini.h__// pentru comunicarea cu modulul DFPlayer Mini | * //__SoftwareSerial.h__ și __DFRobotDFPlayerMini.h__// pentru comunicarea cu modulul DFPlayer Mini | ||
* //__U8g2lib.h__ și __Wire.h__// pentru realizarea interfeței pe ecranul OLED | * //__U8g2lib.h__ și __Wire.h__// pentru realizarea interfeței pe ecranul OLED | ||
+ | * //__EEPROM.h__// pentru a salva valorile variabilelor care gestioneaza volumul, EQ și melodia curentă | ||
</note> | </note> | ||
Line 61: | 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 67: | Line 68: | ||
=== Logica Programului === | === Logica Programului === | ||
- | 1 Se realizează | + | * Se verifcă dacă ecranul are nevoie de un refresh. |
- | 2. | + | * 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. |
+ | * Î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|}} | | ||
- | ===== Concluzii ===== | ||
+ | **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 ===== | ||
+ | * 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. | ||
+ | * Bibliotecile externe extind capacitățile Arduino, permițând controlul dispozitivelor și senzorilor specializați, precum și redarea fișierelor audio de pe cardul SD. | ||
+ | * Încorporarea unui vizualizator RGB în cod demonstrează modul în care se poate controla culoarea LED-urilor în funcție de valoarea citită de senzorul analogic. Acest exemplu ilustrează modul în care Arduino poate fi folosit pentru a crea efecte de iluminare personalizate și reacții la schimbările de mediu. | ||
+ | * Utilizarea unui ecran OLED și a unui sistem de meniu permite interacțiunea cu utilizatorul, ceea ce lustrează modul în care intefața cu utilizatorul poate fi implementată în proiectele Arduino pentru a oferi control și flexibilitate utilizatorului. | ||
===== Download ===== | ===== Download ===== | ||
<note warning> | <note warning> | ||
- | 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ă ;-). | + | *Cod Arhivă {{:pm:prj2023:ndrogeanu:cod_rgb_mp3.zip|}} |
- | + | ||
- | 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> | </note> | ||
Line 94: | Line 107: | ||
- 07.05.2023 Completare Milestone 1 | - 07.05.2023 Completare Milestone 1 | ||
- 21.05.2023 Completare Milestone 2 | - 21.05.2023 Completare Milestone 2 | ||
+ | - 28.05.2023 Completare Milestone 3 | ||
</note> | </note> | ||
Line 102: | Line 116: | ||
* https://www.mouser.com/datasheet/2/115/PAM8403-247318.pdf | * https://www.mouser.com/datasheet/2/115/PAM8403-247318.pdf | ||
- | <note> | + | **Piese** |
- | Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. | + | * https://www.emag.ro/adaptor-ugreen-usb-adapter-card-reader-sd-microsd-03822508-6957303822508/pd/D9HDM2MBM/?X-Search-Id=8a1811a411e73ffc0813&X-Product-Id=70467258&X-Search-Page=1&X-Search-Position=0&X-Section=search&X-MB=0&X-Search-Action=view |
- | </note> | + | * https://cleste.ro/microsd-32gb-cl10-sdsqunr-032g-gn3mn.html |
+ | * https://www.sigmanortec.ro/Speaker-40mm-3W-p134573662 | ||
+ | * https://cleste.ro/set-rezistene-100buc-e4-3.html | ||
+ | * https://cleste.ro/modul-mini-mp3-player.html | ||
+ | * https://cleste.ro/modul-mini-amplificator-clasa-d-stereo-pam8403-de-3-w.html | ||
+ | * https://www.sigmanortec.ro/Display-OLED-0-96-I2C-IIC-Albastru-p135055705 | ||
+ | * https://www.sigmanortec.ro/Tranzistor-NPN-TIP31-TIP31C-TO220-p126177176 | ||
+ | * https://www.sigmanortec.ro/modul-microfon-senzor-sunet-5v | ||
+ | * https://cleste.ro/arduino-uno-r3-atmega328p.html | ||
+ | |||
+ | **Resurse Software** | ||
+ | * https://wiki.dfrobot.com/DFPlayer_Mini_SKU_DFR0299 | ||
+ | * https://github.com/DFRobot/DFRobotDFPlayerMini | ||
+ | * https://github.com/olikraus/u8g2 | ||
+ | * https://docs.arduino.cc/learn/built-in-libraries/software-serial | ||
+ | * https://github.com/PaulStoffregen/SoftwareSerial/tree/master | ||
<html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | <html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | ||