Differences

This shows you the differences between two versions of the page.

Link to this comparison view

pm:prj2023:ndrogeanu:boxargb [2023/05/28 15:41]
george.tudose2504 [Jurnal]
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 68: 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 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|}} |
-===== 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>​
  
pm/prj2023/ndrogeanu/boxargb.1685277712.txt.gz · Last modified: 2023/05/28 15:41 by george.tudose2504
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0