Einleitung

Durch die Leitung der Mikrocontroller-AG am Institut für Mensch-Maschine-Interaktion an der RWTH habe ich ein Demoprojekt in Form einer Lichtorgel gebaut. Ein ATMega16 analysiert mit einer Fast Fourier Transformation (FFT) das am AD-Wandler anliegende Audiosignal und steuert über PWM LEDs in vier verschiedene Farben an.

Zunächst ein Video, wie das ganze aussehen kann. Wenn Interesse besteht lade ich mehr hoch :-)

{youtube}BXtx_JjxwKQ{/youtube}

Zu den technischen Daten:

Dieses Video zeigt eine Lichtorgel, welche mit einem ATMega16 via Fast Fourier Transformation das analoge Spektrum in diskrete, digitale Spektren zerlegt und diese aufsummiert als Wert für die PWM der LEDs verwendet. Niedrige Frequenzen sind rot (ca. 75-600Hz), mittlere Frequenzen grün (ca. 600-4,5kHz) und hohe Frequenzen blau (ca. 4,5kHz bis 9,2kHz). Nahe der Niquist-Frequenz wurden die Spekten aus Gründen der Quantisierungsfehler und der daraus resultierenden hochfrequenten Anteile nicht verwendet. Da Frequenzen oberhalb von 9,6KHz (= Niquist-Frequenz) nicht analog gefiltert sind, kann es vorkommen, dass Frequenzspektren oberhalb von 9,6KHz in andere Spektrenbereiche verschoben werden, wodurch auch die grünen oder roten LEDs bei hochfrequenten Tönen leuchten können.

Der Code basiert auf folgendem Projekt: [C] AVR-Lichtorgel per FFT MEGA8 32 644

Meine Version verwendet allerdings nicht 6x Software-PWM sondern 4x Hardware-PWM. Es existiert leider kein Schaltplan, da das Dev-Board der Mikrocontroller-AG verwendet wurde, die LED-Treiber sind allerdings an den 4 OCR-Pins angeschlossen, sodass dies kein Problem sein sollte. Als Analogeingang wurde PortA.7 verwendet und mit einem RC-Hochpass versehen, welcher zusätzlich die Spannung am µC auf Vcc/s zieht. Die Taster liegen an PORTA.0-4.

Meinen Quellcode kann man hier herunterladen.

Get a better hosting deal with a hostgator coupon or play poker on party poker

Facebook

Translate with Google

Copyright 2011 Mats Marcus. Mats Marcus
Joomla Templates by Wordpress themes free