Lumină și Melodie: Vizualizator de Muzică Interactiv

Introducere

Ce face?
Proiectul “Lumină și Melodie” este un vizualizator de muzică interactiv care utilizează o bandă LED RGB adresabilă pentru a afișa culori variate în sincronizare cu muzica redată direct de pe un card SD, controlat de un Arduino Uno. Acesta permite utilizatorilor să schimbe melodiile folosind butoane de navigare, oferind astfel o experiență audiovizuală completă și personalizabilă.
Care este scopul lui?
Scopul este de a oferi o interfață vizuală atractivă care reacționează la muzica redată, transformând orice spațiu într-o scenă plină de culoare și ritm. Este ideal pentru ambientare în diverse locații, de la petreceri private până la evenimente și spații publice.
Care a fost ideea de la care aţi pornit?
Inspirat de cluburile și discotecile care folosesc lumini sincronizate cu muzica pentru a crea o atmosferă vibrantă, acest proiect aduce aceeași experiență într-un format accesibil și educațional, demonstrând puterea integrării artei cu tehnologia.
De ce credeţi că este util pentru alţii şi pentru voi?
Proiectul este util pentru cei care doresc să îmbunătățească atmosfera în orice mediu și este o resursă excelentă pentru educarea în domeniul programării și al electronicii. Este, de asemenea, o modalitate excelentă de a învăța despre interacțiunea dintre hardware-ul electronic și software.

Descriere generală

Schema bloc pentru proiect:

Module Hardware:
Arduino Uno: Controlerul central pentru gestionarea logicii și procesării semnalelor.
Modul microfon: Captează sunetele ambientale.
Modul SD Card: Permite redarea de muzică stocată pe un card SD prin interfața SPI.
Speaker (difuzor) X 2: Redă sunetul muzical din fișierele audio.
Amplficator Banda LED WS2812: Afisează culori variate controlate digital.
Sursa de alimentare 5V: Alimentează Arduino, microfonul si speaker-ele.
Sursa de alimentare 3.7V: Alimenteaza banda LED.
Butoane de navigare: Permite utilizatorilor să schimbe melodiile înainte și înapoi.
Module Software:
Program Arduino: Gestionează redarea audio de pe SD Card și sincronizarea iluminatului cu muzica prin intermediul microfonului.
Biblioteci Audio: Suport pentru citirea fișierelor de pe SD și redarea lor prin speaker.
Filtru de semnal digital: Un filtru First Order IIR Low Pass Digital Filter utilizat pentru a prelucra semnalul audio din modulul microfon.
Interacțiunea dintre module:
Arduino controlează redarea muzicii de pe cardul SD și procesează semnalele audio pentru a ajusta lumina emisă de banda LED în funcție de muzica redată și sunetele detectate de microfon. Butoanele de navigare permit utilizatorului să controleze selecția melodiei. Toate aceste componente sunt alimentate printr-o sursă de 5V.

Hardware Design

Listă de piese pentru proiect:

  • Arduino Uno
  • Modul microfon
  • Banda LED WS2812 (5V)
  • Modul SD Card
  • Speaker (difuzor)
  • Rezistori
  • Sursa de alimentare 5V
  • Sursa de alimentare 3V
  • Jumper Wires
  • Breadboard
  • Capacitori
  • Butoane de navigare
  • Amplificator

Software Design

  • Mediu de dezvoltare: Arduino IDE
  • Biblioteci folosite: FastLED, DFRobotDFPlayerMini.h

Librării și surse terțe:

  • FastLED: Controlul stripurilor de LED-uri.
  • SoftwareSerial: Comunicație serială pe pinii digitali.
  • DFRobotDFPlayerMini: Manipularea unui player MP3 DFPlayer Mini.

Algoritmi și structuri:

  • Debouncing pentru butoane: Evită citirile multiple accidentale ale butoanelor.
  • Filtrare semnal: Suavizează semnalul de la un senzor.
  • Control culori și luminozitate LED-uri: Ajustează culorile și luminozitatea LED-urilor în funcție de semnalul filtrat.

Funcții principale:

  • setup(): Inițializează setările pentru MP3 și LED-uri.
  • loop(): Procesează intrările de la senzori, ajustează LED-urile și gestionează butoanele.
  • ApplySoundToLEDs(float): Modifică LED-urile pe baza semnalului audio.
  • FilterSignal(float): Filtrul pentru valorile senzorului.
  • handleButtons(), checkSongEnd(), ChangePalettePeriodically(): Gestionarea butoanelor și a paletelor de culori.

Download

pm/prj2024/fstancu/cosmin.florescu2408.txt · Last modified: 2024/05/27 20:23 by cosmin.florescu2408
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