This shows you the differences between two versions of the page.
pm:prj2025:ajipa:bianca_ana.iliescu [2025/05/24 10:38] bianca_ana.iliescu [Introducere] |
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 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: inainte, inapoi si selectare mod. 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. | + | * 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 ===== | ||
Line 261: | Line 273: | ||
===== Concluzii ===== | ===== Concluzii ===== | ||
- | ===== Download ===== | + | 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 ===== | ||
- | <note warning> | + | === Resurse Hardware === |
- | 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**. | + | * **Arduino UNO R3** : [[https://content.arduino.cc/assets/UNO-TH_Rev3e_sch.pdf|Datasheet oficial]] |
- | </note> | + | |
- | ===== Jurnal ===== | + | * **WS2812B LED Ring** : [[https://cdn-shop.adafruit.com/datasheets/WS2812B.pdf|Datasheet WS2812B]] |
- | <note tip> | + | * **Micro SD Card Module** : [[https://lastminuteengineers.com/arduino-microsd-card-module-tutorial/|Modul SD Card + Pinout & Conectare]] |
- | Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului. | + | |
- | </note> | + | |
- | ===== Bibliografie/Resurse ===== | + | * **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]] | ||
- | <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> | <html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | ||