Autor: Hazaparu Robert
Grupa: 332CD
Scopul proiectului este de a crea un sistem dual ce poate acoperi toate cerințele utilizatorilor legate de redarea de conținut audio. Acesta incorporează un card SD de pe care se pot citi fișiere audio, precum și un radio cu reglare automată. Accentul cade pe o interfață simplă, dată de un ecran LCD și 6 butoane. În ansamblu, acesta este similar cu sistemul audio dintr-o mașină.
Inspirația vine din laboratul 5 pentru care nu au fost pregătite cardurile SD.
Interfața generală este dată de șase butoane: volume-, volume+, previous, next, play/stop și un buton prin care se poate schimba modul de funcționare, în modul de player SD sau de radio. De altfel, mai este prezent și un ecran LCD ce prezintă informații pertinente legate de ce se difuzează, numele fișierului în cazul modului SD sau informații RDS în cazul modului radio.
Elementul central este dat de o placă Plusivo cu un microcontroller ATMega328P. Acesta comandă un modul de interfațare cu un card microSDHC, un modul radio, un display LCD 16×2 cu un modul de translatare din I2C atașat, și un multiplexor.
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.
Hardware necesar:
Explicare cablaj:
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 16×2 I2C | SCL |
SDA |
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:
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.
Resurse software:
Resurse hardware: