Table of Contents

George PARASCHIV (78293) - Orga de lumini

Autorul poate fi contactat la adresa: Login pentru adresa

Introducere

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.

Descriere generală

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.

Hardware Design

Lista de piese:

Software Design

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.

Rezultate Obţinute

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.

Download

paraschiv_george_download.zip

Bibliografie/Resurse

Getting Started with AVR: Using PWM to Dim an LED

Getting Started with AVR: Updating PWM Duty Cycle Based on the ADC Sensor Reading

DIY ARDUINO LED COLOR ORGAN 2.0