Digital Music Mixer

PREDA Ionut-Darius-Teodor 333CB

1) Introducere

Prezentarea pe scurt a proiectului:

Scurta descriere:

„Digital Music Mixer” este un controller audio interactiv care permite manipularea pieselor muzicale: reglajul volumului, functia de reverse track & forward care simuleaza miscarea platanelor, functionalitati de play/pause, previus track, skip track si alte efecte audio distractive. Dispozitivul oferă feedback vizual în timp real folosind o matrice LED pentru efecte vizuale si un display dedicat afișează numele piesei active, iar piesele pot fi incarcate pe un card SD pentru redarea rapida si exacta a pieselor.

Idee initiala:

Mi-am dorit să realizez un dispozitiv accesibil, care să simuleze controlul de bază asupra volumului în mixaj audio, cu un feedback vizual atractiv și interactiv. Eu sunt pasionat de partea de echipamente audio, si am considerat ca un astfel de proiect m-ar ajuta sa invat mai multe despre cum functioneaza ele, si ar fi un dispozitiv distractiv pentru petreceri

Scopul proiectului:

Proiectul are scop educativ și demonstrativ: este conceput pentru a integra mai multe concepte și periferice întâlnite în sistemele embedded (ADC, I2S/I2C, SPI, UART) într-un dispozitiv funcțional, care simulează o parte din funcționalitatea unui setup DJ real.

2) Dezvoltarea Hardware

La baza se afla placa de dezvoltare ESP32, pe layout-ul careia imi propun sa implementez urmatoarele functionalitati:

High Priority:

  • Citirea piese muzicale de pe card microSD
  • Afisarea pe display a titlului piesei + volumul actual
  • Control media (back, play/pause, next)
  • Reglaj volum muzica
  • Modificarea vitezei de redare (Potentiometre ~ DJ Mixer)

Medium priority:

  • Afisarea de efecte vizuale pe matricea led
  • Efecte audio speciale in timpul redarii audio
  • Upload piese prin intermediul Bluetooth/WiFi

Diagrama bloc:


Schema electrica:


Piesele hardware de care am nevoie sunt urmatoarele:

Placa de dezvoltare:


- Arduino ESP32 (https://www.optimusdigital.ro/)

Control & Afișare:


- 3x Potențiometru B10K - pentru efecte audio/volum (https://sigmanortec.ro/en/rotary-potentiometer-module-rv09)

Pin Piesa Pin ESP32
GND GND
VCC 3V3
OUT D35, D34, D32

- Display OLED 0.96” I2C – afișează numele piesei + volum (https://sigmanortec.ro/en/oled-display-096-i2c-iic-white)

Pin Piesa Pin ESP32
GND GND
VCC VIN
SDA D21
SCL D22

- Matrice LED MAX7219 – efecte vizuale pe volum/BPM (https://sigmanortec.ro/en/led-matrix-module-4x-max7219-blue)

Pin Piesa Pin ESP32
GND GND
VCC VIN
DIN D23
CS D4
CLK D18

- Modul cititor microSD – pentru muzică de pe card (https://sigmanortec.ro/Modul-MicroSD-p126079625)

Pin Piesa Pin ESP32
GND GND
VCC VIN
MISO D19
MOSI D23
SCK D18
CS D5

- Butoane tactile 12mm – play/pause, prev, next, etc

Pin Piesa Pin ESP32
Pin 1 GND
Pin 3 D12, D13, D14

Redare Audio:


- 2x DAC MAX98357A (https://ardushop.ro/)

Pin Piesa Pin ESP32
GND GND
VCC VIN
LRC D26
BLCK D27
DIN D25

- 2x Difuzor 3W,4Ω (https://componenteonline.ro/difuzor-3w-4-ohmi-40mm-difuzor-40mm-152857?product_id=4867)

Miscellaneous:


- Breadboard (https://sigmanortec.ro/en/breadboard-400-points)

- Jumper wires (https://sigmanortec.ro/en/40-dupont-wires-30cm-male-male)

Milestone Hardware - 16.05.2025 (urmeaza sa vina saptamana viitoare amplificatoarele si sa conectez boxele)


3) Dezvoltarea Software

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

Link Github: https://github.com/darius-preda/MusicBox

4) Rezultate Obţinute

Care au fost rezultatele obţinute în urma realizării proiectului vostru.

5) Concluzii

Conteaza foarte mult sa faci un research amanuntit pentru piese, ca sa salvezi timp si bani!

6) 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.

7) Jurnal

  • 14.05.2025 - Au venit toate piesele.
  • 16.05.2025 - Am implementat functionalitati pentru: citire de pe card SD prin SPI, afisaj LCD si matrice LED prin I2C (momentan astept sa vina un nou amplificator deoarece primul nu a fost compatibil cu ESP32)

Bibliografie/Resurse

Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe Resurse Software şi Resurse Hardware.

Export to PDF

pm/prj2025/vstoica/predadarius.txt · Last modified: 2025/05/28 17:38 by ionut_darius.preda
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0