Differences

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

Link to this comparison view

pm:prj2025:iotelea:robert.hazaparu [2025/05/29 23:22]
robert.hazaparu
pm:prj2025:iotelea:robert.hazaparu [2025/05/30 07:28] (current)
robert.hazaparu Final edit
Line 17: Line 17:
 Alegerea dintre cele două surse de sunet, cardul SD sau radio, se face prin intermediul multiplexorului. Astfel, este necesar un singur amplificator și difuzor pentru a reda conținutul. Alegerea dintre cele două surse de sunet, cardul SD sau radio, se face prin intermediul multiplexorului. Astfel, este necesar un singur amplificator și difuzor pentru a reda conținutul.
  
-{{ pm:​prj2025:​iotelea:​robert.hazaparu:​sprech_diagram.png }}+{{ pm:​prj2025:​iotelea:​robert.hazaparu:​chor_diagram_v2.png }}
  
 ===== Hardware Design ===== ===== Hardware Design =====
Line 24: Line 24:
  
   * Placă Plusivo ATMega328P: https://​www.optimusdigital.ro/​ro/​compatibile-cu-arduino-uno/​1678-placa-de-dezvoltare-compatibila-cu-arduino-uno-atmega328p-i-ch340.html   * Placă Plusivo ATMega328P: https://​www.optimusdigital.ro/​ro/​compatibile-cu-arduino-uno/​1678-placa-de-dezvoltare-compatibila-cu-arduino-uno-atmega328p-i-ch340.html
-  * Cititor card microSD GroundStudio:​ https://​ardushop.ro/​ro/​module/​1553-groundstudio-microsd-module-6427854023056.html Nu îl recomand dar nu mai aveau la optimus +  * Cititor card microSD GroundStudio:​ https://​ardushop.ro/​ro/​module/​1553-groundstudio-microsd-module-6427854023056.html Nu îl recomand dar nu mai aveau la Optimus 
-  * Modul radio cu RDS RDA5807M: https://​ardushop.ro/​ro/​electronica/​2332-modul-radio-fm-rrd-102-6427854004321.html Distanța dintre pini nu e standard+  * Modul radio FM cu RDS RDA5807M: https://​ardushop.ro/​ro/​electronica/​2332-modul-radio-fm-rrd-102-6427854004321.html Distanța dintre pini nu e standard
   * Multiplexor CD4053BE: https://​ardushop.ro/​ro/​circuite-integrate/​649-circuit-integrat-multiplexor-cd4053be-6427854008084.html   * Multiplexor CD4053BE: https://​ardushop.ro/​ro/​circuite-integrate/​649-circuit-integrat-multiplexor-cd4053be-6427854008084.html
   * Modul GS26347 cu amplificator LM386: https://​ardushop.ro/​ro/​electronica/​2095-modul-amplificator-audio-lm386-6427854032065.html   * Modul GS26347 cu amplificator LM386: https://​ardushop.ro/​ro/​electronica/​2095-modul-amplificator-audio-lm386-6427854032065.html
Line 34: Line 34:
   * Rezistori   * Rezistori
   * Fire   * Fire
-{{ pm:​prj2025:​iotelea:​robert.hazaparu:​chor_electrical_diagram.png?750 }}+{{ pm:​prj2025:​iotelea:​robert.hazaparu:​chor_electrical_diagram_v2.png?750 }}
  
   * Antenă, aparent   * Antenă, aparent
  
-Butoanele sunt ținute la Vcc în mod normal, separat de linia principală printr-un rezistor, și legate la masă atunci când sunt apăsate.+Explicare cablaj: 
 +  * Butoanele sunt ținute la Vcc în mod normal, separat de linia principală printr-un rezistor, și legate la masă atunci când sunt apăsate. 
 +  * Cele două ieșiri stereo ale modulului radio sunt combinate într-unul singur, mono, protejat prin rezistori. 
 +  * Liniile SCL și SCK ale I2C sunt ținute la Vcc, separate de linia principală printr-un rezistor. 
 + 
 +^ Componentă ^ Pini folosiți ^ 
 +| Buton 1 | PD3 (Arduino 3) | 
 +| Buton 2 | PD4 (Arduino 4) | 
 +| Buton 3 | PD5 (Arduino 5) | 
 +| Buton 4 | PD6 (Arduino 6) | 
 +| Buton 5 | PD7 (Arduino 7) | 
 +| Multiplexor | PB0 (Arduino 8) | 
 +| Cititor microSD | SS - PB2 (Arduino 10) | 
 +| ::: | SCK - PB5 (Arduino 13) | 
 +| ::: | MISO - PB4 (Arduino 12) | 
 +| ::: | MOSI - PB3 (Arduino 11) | 
 +| ::: | Output sunet - PB1 (Arduino 9) | 
 +| Modul radio FM | SCL | 
 +| ::: | SDA | 
 +| LCD 16x2 I2C | SCL| 
 +| ::: | SDA |
  
 ===== Software Design ===== ===== Software Design =====
Line 46: Line 66:
  
 ==== Biblioteci ==== ==== Biblioteci ====
-  * TMRpcm pentru interfațarea cardului SD +  * SD și TMRpcm pentru interfațarea cardului SD și redarea asincronă a fișierelor 
-  * LiquidCrystal I2C pentru ​interfațarea cu ecranul LCD+  * LiquidCrystal_I2C ​pentru ​afișarea de informații pe ecranul LCD
   * PU2CLR RDA5708 pentru interfațarea cu modulul radio   * PU2CLR RDA5708 pentru interfațarea cu modulul radio
  
 ==== Altele ==== ==== Altele ====
-  * Întreruperi pentru a folosi butoanele+  * Întreruperi ​folosind macro ISR pentru a folosi butoanele 
 +  * Lungimea maximă a numelui fișierelor este foarte mică, așa că numele au fost hardcode-ate
  
 ===== Rezultate Obţinute ===== ===== Rezultate Obţinute =====
  
-Un sunet static.+{{ pm:​prj2025:​iotelea:​robert.hazaparu:​chor_picture1.jpg?​750 }} 
 + 
 +Sistemul reușeste să redea conținutul de pe cardul SD la o calitate suficient de satisfăcătoare pentru componentele folosite. 
 + 
 +Întreruperile funcționează. Există un feedback pe ecranul LCD atunci când sunt apăsate butoane. Pentru play/stop, este afișat un caracter custom ce indică starea sistemului, caracter ce rămâne permanent pe ecran. Pentru volume+/-, next și previous se afișează pentru o scurtă perioadă de timp un caracter ce indică acțiunea realizată, după care se revine la unul din cele două caractere menționate anterior. 
 + 
 +Limita de 12 caractere (8 fără extensia ”.wav”) nu este suficientă pentru a afișa informații pertinente despre ce se difuzează. Am optat să hardcodez aceste informații. 
 + 
 +Alte probleme întâmpinate:​ 
 + 
 +  * Placa ATMega328P nu are suficientă memorie pentru a facilita intefațarea cu modulul radio și cardul SD în același timp. 
 +  * ESP32 folosește cu totul alte biblioteci și module diferite. 
 +  * Se pare că placa ESP32 pe care am comandat-o era stricată :( 
 +  * Recunosc că ar fi trebuit să mă gândesc la asta mai devreme, dar pentru ca un radio să funcționeze,​ are nevoie de antenă. Nu am antenă. Nu funcționează modulul radio. 
 +  * Semnalele sonore sunt foarte predispuse la interferențe. Chiar și trecând doar prin multiplexor,​ apar destule interferențe încât sunetul să devină deranjant. Pentru scopuri demonstrative,​ am optat să trec sunetul direct în amplificator.
  
 ===== Concluzii ===== ===== Concluzii =====
  
-Murphy ​și legea lui.+Analiza cu atenție a cerințelor tehnice, precum ​și a capabilităților hardware a componentelor ce se vor folosite este un pas important în orice proiect. Fără o analiză corectă, se pot ajunge la întârzieri sau chiar la incapacitatea de la livra un produs după specificațiile cerute. 
 + 
 +Proiectul este funțional, partea de SD este exact cum am dorit de la început. Deși am pierdut mult timp încercând să fac placa ESP32 să funcționeze,​ după ce am abandonat acea idee, nu pot spune că mi-a displăcut să lucrez la proiect. 
 + 
 +Rezistorii de 100 de ohmi nu separă nimic.
  
 ===== Download ===== ===== Download =====
Line 71: Line 110:
   * Placa cu ATMega328P nu e suficient de bună pentru ambele operații intensive de citire card SD + radio, trebuie un ESP32.   * Placa cu ATMega328P nu e suficient de bună pentru ambele operații intensive de citire card SD + radio, trebuie un ESP32.
   * Am comandat piesele necesare - ESP32, cablu + altele.   * Am comandat piesele necesare - ESP32, cablu + altele.
-  * Bibliotecile pentru ESP32 au nevoie de piese pe care nu le am. 
   * Nu reușesc să mă conectez la ESP32.   * Nu reușesc să mă conectez la ESP32.
   * Renunț la ESP32 și mă întorc la placa cu ATMega328P, măcar să iasă una din două.   * Renunț la ESP32 și mă întorc la placa cu ATMega328P, măcar să iasă una din două.
-  * Am doar un sunet static.+  ​* Placa reușește să redea fișiere audio stocate pe cardul SD. 
 +  * Nu am antenă. 
 +  ​* Am implementat butoanele și întreruperile. 
 +  * Am implementat ecranul LCD și afișearea de informații. 
 +  * Am pus decorațiuni legate de funcționarea sistemului pe ecran.
  
 ===== Bibliografie/​Resurse ===== ===== Bibliografie/​Resurse =====
  
 Resurse software: Resurse software:
 +  * https://​arduinointro.com/​lcdcustomcharacter/​
 +  * https://​www.instructables.com/​Audio-Player-Using-Arduino-With-Micro-SD-Card/​
 +  * yt-dlp
 +  * ffmpeg
  
 Resurse hardware: Resurse hardware:
 +  * https://​docs.arduino.cc/​resources/​pinouts/​A000066-full-pinout.pdf
 +  * https://​www.instructables.com/​Simple-Way-to-Convert-Stereo-to-Mono/​
 +  * https://​www.ti.com/​lit/​ds/​symlink/​cd4053b.pdf?​ts=1748490646974
  
 <​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/prj2025/iotelea/robert.hazaparu.1748550150.txt.gz · Last modified: 2025/05/29 23:22 by robert.hazaparu
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