This is an old revision of the document!


Sound Reactive VU Meter

  • Nume: State Andreea-Rebecca
  • Grupa: 331CA

Introducere

Sound Reactive VU Meter este un dispozitiv care răspunde la sunet prin afișarea nivelului de semnal audio în timp real, prin intermediul unor indicatori vizuali (LED-uri), care se vor mișca în funcție de intensitatea sunetului. Acest dispozitiv este util pentru monitoriza nivelului de volum al muzicii sau al altor surse audio într-un mod vizual atrăgător, datorită LED-urilor colorate care se aprind și se stinge în funcție de nivelul de volum al sunetului, creând astfel o reprezentare vizuală a intensității sunetului.

Descriere generală

Cele două benzi led vor avea mai multe tipuri de aprindere al beculețelor:

  • de jos în sus
  • de sus în jos
  • din interior spre exterior
  • din exterior spre interior

Utilizatorul poate să treacă de la un mod de aprindere la altul prin intermediul unui buton care va cicla prin cele 4 moduri de aprindere. Dacă timp de 10 de secunde nu este detectată nicio apăsare de buton, se va trece automat în următorul mod de aprindere.

Hardware Design

Listă de piese

  • Arduino Uno R3 Atmega328p
  • Led Strip WS2812B
  • Senzor sunet LM393
  • Buton
  • LCD I2C 16×2

Schema electrica

Software Design

Codul proiectului a fost dezvoltat în Arduino IDE și am folosit bibliotecile FastLED pentru banda led și LiquidCrystal_I2C pentru afișarea pe ecranul LCD.

Banda led are 4 moduri de afișare care se schimbă fie la o apăsare de buton, fie dupa 10 secunde în care nu a fost detectată nicio apăsare de buton.

În implementare am folosit întreruperi pentru butonul de switch cu ajutorul căruia iteram prin cele 4 moduri de afișare ale led-urilor. Prima apăsare de buton face tranziția de la modul 0 la modul 1, a doua apăsare de buton face tranziția de la modul 1 la modul 2, a treia apăsare face tranziția de la modul 2 la modul 3, iar a patra apăsare face tranziția de la modul 3 la modul 0, astfel reluându-se ciclul.

În cazul în care timp de 10 secunde nu a fost detectă nicio apăsare de buton am folosit TIMER1 pentru a face tranziția către următorul mod de afișare.

De asemenea, în cazul în care este detectată o apăsare de buton timerul este resetat pentru a evita situația în care unul dintre modurile de afișare ar fi durat mai puțin de 10 secunde.

Pe ecranul LCD se afișează în text a modului curent de afișare și o reprezentare vizuala a creșterii intensității sunetului.

Arhiva ce conține codul sursă al proiectului: state_rebecca_soundreactivevumeter.zip

Rezultate Obţinute

Concluzii

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.

Jurnal

Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului.

Bibliografie/Resurse

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

Export to PDF

pm/prj2023/apredescu/vumeter.1685383872.txt.gz · Last modified: 2023/05/29 21:11 by andreea.state2603
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