This shows you the differences between two versions of the page.
| — |
pm:prj2026:ciprian.popescu0411:daria.harabagiu [2026/05/10 14:33] (current) daria.harabagiu created |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | ====== Mini MP3 Player ====== | ||
| + | ===== Introducere ===== | ||
| + | |||
| + | <note tip> | ||
| + | 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. | ||
| + | </note> | ||
| + | ===== Descriere generală ===== | ||
| + | |||
| + | <note tip> | ||
| + | * **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. | ||
| + | </note> | ||
| + | |||
| + | ===== Hardware Design ===== | ||
| + | |||
| + | <note tip> | ||
| + | **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. | ||
| + | </note> | ||
| + | |||
| + | ===== Software Design ===== | ||
| + | |||
| + | |||
| + | <note tip> | ||
| + | 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 | ||
| + | </note> | ||
| + | |||
| + | ===== Rezultate Obţinute ===== | ||
| + | |||
| + | <note tip> | ||
| + | Care au fost rezultatele obţinute în urma realizării proiectului vostru. | ||
| + | </note> | ||
| + | |||
| + | ===== Concluzii ===== | ||
| + | |||
| + | ===== Download ===== | ||
| + | |||
| + | <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ă ;-). | ||
| + | |||
| + | 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> | ||
| + | |||
| + | ===== Jurnal ===== | ||
| + | |||
| + | <note tip> | ||
| + | Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului. | ||
| + | </note> | ||
| + | |||
| + | ===== Bibliografie/Resurse ===== | ||
| + | |||
| + | <note> | ||
| + | Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. | ||
| + | </note> | ||
| + | |||
| + | <html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | ||