Table of Contents

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