Mini MP3 Player
Introducere
Proiectul meu constă într-un player audio portabil construit pe microcontrolerul ATmega328P-XMINI, care redă fișiere .wav stocate pe un card microSD.
Ideea a pornit din dorința de a construi de la zero un dispozitiv personalizat, funcțional și estetic, dedicat redării muzicii.
Utilizatorul poate controla redarea prin butoane fizice (play/pause, next, prev), poate regla volumul printr-un potențiometru, iar numele melodiei curente este afișat pe un display OLED.
Proiectul demonstrează cum un microcontroler simplu poate gestiona simultan mai multe periferice — stocare, afișaj, audio și input utilizator — oferind o perspectivă practică asupra sistemelor embedded.
Descriere generală
Stocare (SPI): Fișierele .wav sunt stocate pe un card microSD citit prin protocolul SPI cu biblioteca SDFat.
Redare audio (PWM + Timere): Samplelele audio sunt trimise unui Timer în mod Fast PWM, semnalul fiind filtrat și amplificat de modulul LM386 către difuzor sau căști (jack 3.5mm).
Control (GPIO + Întreruperi): Trei butoane fizice pe pinii de întrerupere gestionează play/pause, next și prev.
Afișare (I2C): Display-ul OLED SSD1306 afișează numele melodiei și statusul playerului prin I2C.
Volum (ADC): Un potențiometru de 10kΩ citit prin ADC controlează volumul redării.
VU Meter (PWM): 6 LED-uri (verde, galben, roșu) vizualizează nivelul sonor în timp real.
Hardware Design
Componente folosite:
ATmega328P-XMINI: Placa de bază pentru controlul întregului sistem.
Modul MicroSD (SPI): Stochează fișierele audio .wav.
Display OLED 1.3” I2C: Afișează numele melodiei curente și statusul playerului.
Modul amplificator LM386: Amplifică semnalul audio PWM pentru difuzor.
Difuzor 40mm 3W: Redă sunetul amplificat.
Mufă jack audio 3.5mm (PJ392): Permite conectarea căștilor.
Potențiometru 10kΩ: Controlează volumul prin ADC.
Butoane tactile (x4): Play/pause, next, prev + rezervă.
LED-uri 5mm roșu x2, galben x2, verde x2: VU meter vizual.
Rezistențe 220Ω (x6): Protecție LED-uri.
Condensatoare 10µF (x2): Filtru audio pentru LM386.
Breadboard + fire Dupont: Pentru realizarea conexiunilor între componente.
Software Design
Descrierea codului aplicaţiei (firmware):
mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR)
librării şi surse 3rd-party (e.g. Procyon AVRlib)
algoritmi şi structuri pe care plănuiţi să le implementaţi
(etapa 3) surse şi funcţii implementate
Rezultate Obţinute
Care au fost rezultatele obţinute în urma realizării proiectului vostru.
Concluzii
Download
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ă

.
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.
Jurnal
Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului.
Bibliografie/Resurse
Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe Resurse Software şi Resurse Hardware.
Export to PDF