Autorul poate fi contactat la adresa: Login pentru adresa
Proiectul reprezinta o “orga” de lumini pe 3 frecvente (low, mid, high). Sunetul este preluat de la jack-ul audio de input, analizat si separat in 3 frecvente. In functie de intensitatea acestora se vor aprinde 3 benzi de leduri.
Scopul acestui proiect este de a creea o iluminare originala in incinta, in functie de ritmul muzicii.
Sunetul audio primit prin jack este filtrat de un circuit de rezistente si condensatoare si apoi este trimis catre chipul msgeq7 care separa sunetul in frecvente. Separarea in frecvente a chipului este comandata de atmega324, care va prelua rezultatul si va actiona benzile de leduri in functie de acesta.
Schema electrica a proiectului.
Lista de piese:
In functia main se apeleaza functia setup() si apoi avem un while(1) de functia loop(). Functia setup():
Se seteaza fiecare pin(output / input). Se activeaza intreruperile. Se seteaza ADC pentru citire. Se seteaza cele 3 timere in PWM, modul CTC, PS = 1.
Functia loop():
Se scrie valoarea pinului de reset pentru a activa chipul msgeq7. Se citeste input de pe fiecare din cele 7 canale ale chipului(prin activarea pinului strobe), fiecare pentru un range de frecvente. Se filtreaza valorile citite. Se seteaza valorile pentru cele 3 timere (OCRxB) pentru a modifica intensitatea ledurilor in functie de canalele citite.
Macro-ul max este folosit pentru a putea folosi mai multe canale de frecventa in acelasi timp. Intreruperile de compare timers sunt folosite pentru aprinderea/stingerea ledurilor.
Proiectul functioneaza corect, aprinzand benzile de leduri in functie de frecventa audio primita ca input. Exista zgomot pe circuit si acesta a trebuit filtrat in cod.