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: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 ===
-  ​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>​
  
pm/prj2023/ndrogeanu/boxargb.1685276716.txt.gz · Last modified: 2023/05/28 15:25 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