This shows you the differences between two versions of the page.
pm:prj2025:ajipa:bianca_ana.iliescu [2025/05/24 10:24] bianca_ana.iliescu [Rezultate Obţinute] |
pm:prj2025:ajipa:bianca_ana.iliescu [2025/05/30 07:26] (current) bianca_ana.iliescu [Introducere] |
||
---|---|---|---|
Line 3: | Line 3: | ||
===Prezentarea pe scurt a proiectului:=== | ===Prezentarea pe scurt a proiectului:=== | ||
- | * Sistemul propus este un player muzical controlat cu ajutorul unui ecran LCD si butoane, capabil sa redea melodii stocate pe un card SD printr-un difuzor. Utilizatorul poate selecta melodia dorita, iar pe durata redarii, sistemul analizeaza în timp real semnalul audio pentru a extrage ritmul muzicii. Pe baza acestei analize, o banda de LED-uri va genera efecte luminoase sincronizate cu beat-urile melodiei. In plus, utilizatorul poate selecta un mod de iluminare din mai multe optiuni predefinite, precum "Relaxat", "Energic" etc., folosind un buton suplimentar. Astfel, luminile se vor aprinde atat in functie de ritmul muzicii, cat si in functie de modul de iluminare ales, oferind o experienta vizuala personalizata. | + | * Sistemul propus este un player muzical controlat cu ajutorul unui ecran LCD si butoane fizice, capabil sa redea melodii in format WAV stocate pe un card microSD, utilizand o placa Arduino si un difuzor. Utilizatorul poate naviga intre melodii si moduri de iluminare prin intermediul a trei butoane: Start/Stop, Selectare melodie, Selectare mod iluminare. Melodiile sunt redate folosind biblioteca TMRpcm, iar sistemul utilizeaza pinul analogic A0 pentru a citi semnalul audio preluat direct din difuzor, printr-o punte realizata cu doua rezistente. Pe baza valorilor citite in timp real, este calculat un nivel audio, care este folosit pentru a actualiza banda de LED-uri WS2812B. |
* Scopul principal este de a oferi o experienta multimedia interactiva si personalizabila, in care utilizatorul nu doar asculta muzica, ci si vizualizeaza efecte luminoase adaptate atat ritmului, cat si preferintelor sale de moment. | * Scopul principal este de a oferi o experienta multimedia interactiva si personalizabila, in care utilizatorul nu doar asculta muzica, ci si vizualizeaza efecte luminoase adaptate atat ritmului, cat si preferintelor sale de moment. | ||
* Ideea de baza a pornit de la dorinta de a crea un sistem care sa combine muzica si luminile intr-un mod sincronizat, inspirat de sistemele moderne de redare muzicala cu efecte vizuale. Pentru a creste interactivitatea si personalizarea, am adaugat posibilitatea de a selecta diferite moduri de iluminare, astfel incat utilizatorul sa poata adapta atmosfera in functie de preferinte sau context. | * Ideea de baza a pornit de la dorinta de a crea un sistem care sa combine muzica si luminile intr-un mod sincronizat, inspirat de sistemele moderne de redare muzicala cu efecte vizuale. Pentru a creste interactivitatea si personalizarea, am adaugat posibilitatea de a selecta diferite moduri de iluminare, astfel incat utilizatorul sa poata adapta atmosfera in functie de preferinte sau context. | ||
Line 51: | Line 51: | ||
| LCD 16x2 cu interfata I2C | Afisaj 16x2 caractere, alimentare 5V DC, interfata I2C, consum curent: ~2 mA | [[https://sigmanortec.ro/LCD-1602-p125700685|link]] | | | LCD 16x2 cu interfata I2C | Afisaj 16x2 caractere, alimentare 5V DC, interfata I2C, consum curent: ~2 mA | [[https://sigmanortec.ro/LCD-1602-p125700685|link]] | | ||
| Rezistente 330 ohm | Valoare 330Ω, utilizate pentru limitarea curentului prin LED-uri, putere nominala 0.25W | | | | Rezistente 330 ohm | Valoare 330Ω, utilizate pentru limitarea curentului prin LED-uri, putere nominala 0.25W | | | ||
+ | | Rezistente 10K ohm | Valoare 10kΩ, utilizate pentru divizorul de tensiune | | | ||
| Fire Tata-Tata | Fire de conectare cu pini tata la ambele capete, pentru conexiuni pe breadboard | | | | Fire Tata-Tata | Fire de conectare cu pini tata la ambele capete, pentru conexiuni pe breadboard | | | ||
| Fire Tata-Mama | Fire de conectare cu un pin tata si un pin mama, pentru interconectarea modulelor | | | | Fire Tata-Mama | Fire de conectare cu un pin tata si un pin mama, pentru interconectarea modulelor | | | ||
Line 57: | Line 58: | ||
===Schema electrica:=== | ===Schema electrica:=== | ||
- | {{schema_electrica_Iliescu_Bianca.png?800x550|Schema bloc}} | + | {{schema_electrica3_Iliescu_Bianca.png?800x550|Schema bloc}} |
//Diagrama realizata in [[https://app.cirkitdesigner.com/|Cirkit Designer IDE]]// | //Diagrama realizata in [[https://app.cirkitdesigner.com/|Cirkit Designer IDE]]// | ||
- | {{schema_electrica1_Iliescu_Bianca.png?800x550|Schema electrica}} | + | {{schema_electrica2_Iliescu_Bianca.png?800x550|Schema electrica}} |
//Schema electrica realizata in [[https://easyeda.com/|EasyEDA]]// | //Schema electrica realizata in [[https://easyeda.com/|EasyEDA]]// | ||
Line 81: | Line 82: | ||
| | VCC | - | Alimentare 5V | | | | VCC | - | Alimentare 5V | | ||
| | GND | GND | Masa | | | | GND | GND | Masa | | ||
- | ^ Amplificator Audio LM386 ^ IN+ ^ D9 (PB1) ^ Intrare audio de la Arduino ^ GPIO ^ | + | ^ Amplificator Audio LM386 ^ IN+ ^ D9 (PB1) ^ Intrare audio de la Arduino spre amplificator ^ GPIO ^ |
| | VCC | - | Alimentare 5V | | | | VCC | - | Alimentare 5V | | ||
| | VOUT | SP1 (difuzor) | Iesire audio catre difuzor | | | | VOUT | SP1 (difuzor) | Iesire audio catre difuzor | | ||
| | GND | GND | Masa | | | | GND | GND | Masa | | ||
+ | ^ Divizor tensiune audio (2x10kΩ) ^ - ^ A0 (PC0) ^ Citire semnal audio analogic (detectare ritm) ^ ADC ^ | ||
+ | | | R1 capat 1 | D9 (PB1) | Legat in serie cu IN de la LM386 | | ||
+ | | | R1–R2 comun | A0 (PC0) | Punctul de prelevare semnal | | ||
+ | | | R2 capat 2 | GND | Referinta masa | | ||
^ Difuzor ^ + ^ VOUT (U1) ^ Redare sunet ^ - ^ | ^ Difuzor ^ + ^ VOUT (U1) ^ Redare sunet ^ - ^ | ||
- | | | - | GND | Masa | | + | | | - | GND | Masa | |
^ Buton 1 ^ - ^ D2 (PD2) ^ Da play la melodie ^ GPIO ^ | ^ Buton 1 ^ - ^ D2 (PD2) ^ Da play la melodie ^ GPIO ^ | ||
^ Buton 2 ^ - ^ D3 (PD3) ^ Selecteaza melodia ^ GPIO ^ | ^ Buton 2 ^ - ^ D3 (PD3) ^ Selecteaza melodia ^ GPIO ^ | ||
^ Buton 3 ^ - ^ D4 (PD4) ^ Selecteaza modul de iluminare ^ GPIO ^ | ^ Buton 3 ^ - ^ D4 (PD4) ^ Selecteaza modul de iluminare ^ GPIO ^ | ||
+ | |||
+ | ===Sincronizarea LED-urilor cu semnalul audio:=== | ||
+ | Pentru a putea analiza semnalul audio generat in timpul redarii unei melodii si a aprinde LED-urile in functie de intensitatea acestuia, am realizat un divizor de tensiune format din doua rezistente de 10kΩ conectate in serie. Un capat al primului rezistor este conectat la pinul D9 al placii Arduino, pin utilizat pentru transmiterea semnalului audio catre intrarea amplificatorului LM386. Capatul celalalt al celui de-al doilea rezistor este conectat la GND, iar punctul comun dintre cei doi rezistori este conectat la pinul analogic A0. Aceasta configuratie permite preluarea unei versiuni atenuate a semnalului audio (prin divizorul de tensiune), astfel incat Arduino-ul sa poata citi nivelul semnalului cu ajutorul convertorului analog-digital (ADC) fara a-l suprasolicita electric. In acest mod, se poate monitoriza variatia semnalului in timp real si controla efectele luminoase generate de banda de LED-uri, sincronizandu-le cu ritmul muzicii. | ||
+ | |||
+ | {{divizor_Iliescu_Bianca.png?400x350|Divizor}} | ||
===Calcule efectuate:=== | ===Calcule efectuate:=== | ||
Line 239: | Line 249: | ||
* **loop()** – Verifica apasarile de butoane (Play, Next, Mod), executa actiunile corespunzatoare (redare, schimbare melodie, schimbare mod iluminare) si, daca o melodie este in redare, actualizeaza efectele LED-urilor in timp real. | * **loop()** – Verifica apasarile de butoane (Play, Next, Mod), executa actiunile corespunzatoare (redare, schimbare melodie, schimbare mod iluminare) si, daca o melodie este in redare, actualizeaza efectele LED-urilor in timp real. | ||
+ | |||
+ | **Atat codul final, cat si codurile pentru verificarea functionarii modulelor se gasesc pe //[[https://github.com/biancailiescu/Player-muzical-interactiv-cu-efecte-luminoase| GitHub]]// ** | ||
===== Rezultate Obţinute ===== | ===== Rezultate Obţinute ===== | ||
- | {{youtube>Q4wKH_qCI9o?medium}} | + | Proiectul realizat permite redarea fisierelor audio WAV de pe un card microSD si controlul unei benzi de LED-uri WS2812B in functie de semnalul audio si modul selectat. |
- | ===== Concluzii ===== | + | |
- | ===== Download ===== | + | [[https://www.youtube.com/watch?v=Q4wKH_qCI9o|Videoclip demonstrativ]] |
- | <note warning> | + | Urmatoarele functionalitati sunt complet implementate si prezentate in videoclipul demonstrativ: |
- | 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**. | + | * Navigarea intre modurile de redare prin apasarea butoanelor fizice |
- | </note> | + | |
- | ===== Jurnal ===== | + | * Afisarea informatiilor pe un ecran LCD 16x2: numele melodiei curente si modul activ |
- | <note tip> | + | * Redarea fisierelor audio |
- | Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului. | + | |
- | </note> | + | |
+ | * Iluminare dinamica a LED-urilor in functie de semnalul audio (efecte sincronizate) | ||
+ | |||
+ | * Selectarea modurilor de iluminare | ||
+ | |||
+ | Aceste rezultate demonstreaza functionalitatea completa a sistemului audio-luminos proiectat si integrarea cu succes a componentelor hardware si software. | ||
+ | ===== Concluzii ===== | ||
+ | |||
+ | Ideea de la care a pornit acest proiect a fost una simpla: sa creez un player muzical care sa redea melodii si, in acelasi timp, sa ofere o experienta vizuala prin efecte de lumina sincronizate cu ritmul muzicii. La final, pot spune ca obiectivul a fost atins. Sistemul functioneaza corect, permite selectarea melodiei si a modului de iluminare, iar rezultatul este o experienta interactiva pentru utilizator. Proiectul poate fi imbunatatit in viitor prin adaugarea unei telecomenzi cu infrarosu, integrarea unui senzor de sunet pentru o reactie mai dinamica a luminilor sau chiar conectivitate Bluetooth pentru selectarea melodiilor direct de pe telefon. Sunt multumita de rezultatul obtinut si cred ca are potential sa evolueze in directii si mai creative. | ||
===== Bibliografie/Resurse ===== | ===== Bibliografie/Resurse ===== | ||
- | <note> | + | === Resurse Hardware === |
- | Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. | + | |
- | </note> | + | * **Arduino UNO R3** : [[https://content.arduino.cc/assets/UNO-TH_Rev3e_sch.pdf|Datasheet oficial]] |
+ | |||
+ | * **WS2812B LED Ring** : [[https://cdn-shop.adafruit.com/datasheets/WS2812B.pdf|Datasheet WS2812B]] | ||
+ | |||
+ | * **Micro SD Card Module** : [[https://lastminuteengineers.com/arduino-microsd-card-module-tutorial/|Modul SD Card + Pinout & Conectare]] | ||
+ | |||
+ | * **LCD 16x2 cu interfață I2C** : [[https://www.electronicwings.com/nodemcu/lcd-16x2-i2c-module|LCD1602 + I2C Datasheet]] | ||
+ | |||
+ | === Resurse Software === | ||
+ | |||
+ | * **Biblioteca SD** : [[https://www.arduino.cc/en/Reference/SD|Arduino SD Library Reference]] | ||
+ | |||
+ | * **Platforma Arduino IDE** : [[https://www.arduino.cc/en/software|Arduino IDE oficial]] | ||
<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> | ||