Forum: Mikrocontroller und Digitale Elektronik Lichtorgel mit ATMega16


von Patrick (Gast)


Lesenswert?

Hallo zusammen!!

Ich will mit meinem Schwiegervater in seinem Disco-Keller die 
Lichtsteuerung mit einem oder mehreren ATMega16 realisieren. Zu einer 
ordentlichen Disco-Beleuchtung gehört natürlich auch eine Lichtorgel, 
die auf die unterschiedlichen Höhen und Tiefen reagiert.

Hier im Forum habe ich schon viel über FFT gelesen, da ich aber 
absoluter Neuling bin, habe ich nur Bahnhof verstanden.

Kann man so eine FFT direkt mit dem Controller erledigen, oder brauch 
ich da Hardware, die mir aus den Frequenzen direkt digitale Signale für 
den avr liefert?

Hat jemand schon mal so etwas gemacht? Oder hat jemand schon ein 
fertiges C-File, das ich verwenden kann?

von Frank (Gast)


Lesenswert?

ist das nicht mit Kanonen auf Spatzen usw? Was spricht gegen die 
altbewährte Technik mit analogen Filtern und ner Leistungsstufe 
dahinter? FFT mit nem AVR ist nicht grad der Renner und mehrkanalig 
schon garnicht aber wenn man gern ne Minute auf den Lichtblitz zur Musik 
warten mag...

bye

Frank

von fnah (Gast)


Lesenswert?

>aber wenn man gern ne Minute auf den Lichtblitz zur Musik
>warten mag...
also 7.3msec fuer ne 128-point-fft wuerde ich nicht wirklich als 
verzoegerung bezeichen. die videos am ende der seite sind schon...nett.
http://elm-chan.org/works/akilcd/report_e.html

von Patrick (Gast)


Lesenswert?

Hallo fnah!

Ich bräuchte auch gar keine 128 Stufen. mir würden 8-Kanäle schon 
ausreichen. Gibt es von diesem Projekt C-Files?

Frank:
>ist das nicht mit Kanonen auf Spatzen usw?

Ich wollte einfach alles unter einen Hut bringen, damit ich möglichst 
viel Platz einsparen kann.

von Jens P. (jmoney)


Lesenswert?

http://de.wikipedia.org/wiki/Fourier-Transformation

Ich beschäftige mich noch nicht sehr lange mit Fouriertransformation, 
aber wenn ich das richtig verstanden habe, reicht es aus, die xn zu 
berechnen (siehe Link, diskrete FT). Dabei geht man stillschweigend 
davon aus, dass das Eingangssignl periodisch und eingeschwungen ist, was 
bei Audio ja eigentlich nicht der Fall ist.

Meiner Meinung nach brauchst du nicht mal 8 Kanäle. 2-3 Kanäle reichen 
völlig aus für eine Lichtorgel. Die Frequenz jedes einzelnen Kanals 
kannst du mit dem n verschieben. Mit omega wird eine Grundfrequenz 
gewählt. Du kannst also nur Frequenzanteile filtern, die Vielfache einer 
Grundfrequenz sind.
Ansonsten braucht man wohl nur noch einen flotten Sinus (lookup table).

Ich hab es leider auch noch nicht programmiert, aber da sollte sich Code 
finden lassen..

von MR (Gast)


Lesenswert?

den pegel mit einem op gleichrichten und dann aufen ADC vom AVR geben

von Matthias (Gast)


Lesenswert?

Wenn du nur zwei bis drei Frequenzen haben willst, dann nimm den 
görtzel-algorithmus. der berechnet nur eine Frequenz (das machst halt 
dreimal).
Das ist letztendlich dann nur noch ne differenzengleichung, und spuckt 
mit jedem takt einen wert aus...

von antworter (Gast)


Lesenswert?

>reicht es aus, die xn zu berechnen (siehe Link, diskrete FT)

Nach meinem bescheidenen FT/FFT-Wissen:

Für eines Deiner xn mußt Du über das komplette Fenster iterieren (für 
jedes Sample ein Sinus-Lookup und eine Multiplikation).
Damit erfaßt Du dann aber auch nur die Amplitude einer einzigen Frequenz 
(bzw. eines ganz schmalen Frequenzbandes) - eben das, was in der FFT 
eine Spalte wäre.

Da das zu schmal ist, müßtest Du das zig-mal machen, um einigermassen 
z.B. den Bassbereich zu überstreichen.



Bessere Lösung: IIR-Bandpaß-Filter mit Aufsummierung der 
Ergebnissamples. -> damit kannst Du komplette Bereiche überdecken (mit 
minimalem Rechenaufwand).

Nachteilig ist dabei natürlich der hohe Aufwand, sich erstmal die 
IIR-Faktoren zu berechnen/besorgen ;-).

von antworter (Gast)


Lesenswert?

>görtzel-algorithmus. der berechnet nur eine Frequenz

Der ist vielleicht für DTMF super geeignet, aber doch nicht für 'ne 
Lichtorgel. (auch wenn Disco-Mucke oft gleich klingt, werden tatsächlich 
ab und zu unterschiedliche BassDrums/Snares/whatever benutzt)

von MR (Gast)


Lesenswert?

NE567 ist ein ton decoder ganz einfach mit einem widerstand und 
kondensator einstellbar
http://instruct1.cit.cornell.edu/courses/ee476/FinalProjects/s2006/cc425/Paul_Jimmy/tonedecoderapp.pdf

von Lichtorgler (Gast)


Lesenswert?

mir erschliesst sich nicht, warum ein AVR die Orgel auswerten soll. 
Lichtorgeln sind doch klassische Analogprojekte. Ein paar Filter, OPVs 
und ein paar Treibertufen - schon zappeln die Leuchten im Musiktakt.

von antworter (Gast)


Lesenswert?

Also wenn man es in mehrfacher Ausführung haben möchte, spricht die 
reduzierte Bauteilmenge schon für die AVR-Lösung.

Nimmt man einen AVR mit integriertem ADC braucht man kaum noch 
Außenbeschaltung und kann mehrere Frequenzbänder mit variablen 
Amplituden- und Zeitfenstern analysieren (z.B. nicht schneller als 240 
bpm oder so).

Ich finde das schon äußerst sinnvoll.

von Condenser (Gast)


Lesenswert?

Ähm wo kommt denn die Musik her? Wenn die aus nem Rechner kommt, dann 
kannst du ja auch DMX Control einsetzen und die Controller dafür nutzen.

Condi

von Peter D. (peda)


Lesenswert?

Ich finde auch, daß man sowas heutzutage digital machen sollte.

Der Link von fnah (Gast) sieht doch ganz brauchbar aus.


Peter

von CLR (Gast)


Lesenswert?

Man kann auch ein paar Bandpassfilter auf einem Atmega8 realisieren:

http://www.roboterclub-freiburg.de/TonAsuro/LichtorgelAsuro.html

von Patrick (Gast)


Lesenswert?

Danke erstmal für die vielen Antworten

>Ähm wo kommt denn die Musik her?
Die Musik kommt aus dem Verstärker über den Line-Out.

CLR: Das mit den Bandpassfiltern tönt ziemlich gut. Leider ist bei dem 
Link nicht beschrieben, wie das ganze funktioniert.

antworter:
>Nimmt man einen AVR mit integriertem ADC braucht man kaum noch
>Außenbeschaltung..
Kannst Du mir sagen, wie das konkret aussehen kann?

Ich bin leider (noch) kein Fachmann im Gebiet Elektronik und Filter und 
so. Daher kann ich kann ich mit IIR-Bandpassfilter und 
görtzel-Algorithmus nicht viel anfangen.

Hat den wirklich niemand so ein fertiges Projekt in der Schublade 
liegen? Mit Schaltplan und C-Programm?

Nicht, das ich mir nichts überlegen will (toll, ein anderer machts), 
aber ich habe schlichtweg zu wenig Zeit, mich selber in das Thema 
einzuarbeiten.

Bitte, helft mir!

von TOM (Gast)


Lesenswert?

Warum wählst du dann so einen komplizierten Weg (digital), wenn du keine 
Ahnung hast?
Mach es analog, dann beschränkt sich die Komplexität der Materie in die 
du dich einarbeiten mußt drastisch und das ganze sollte auch für einen 
Einsteiger verständlich und mit wenig Fremdleistung machbar sein.
Wenn du unbedingt ein Projekt mit einem µC vor hast, dann erweitere doch 
einfach in einem zweiten Schritt deine analoge Lichtorgel um ein 
programmierbares Lauflicht.

von Lichtorgeloldie (Gast)


Lesenswert?

Hallo,
ich hab in meiner Jugend Lichtorgeln gebaut.
Da war noch nix mit µc.
Ich fand allerdings,daß es blöde aussieht wenn eine Lampe nach irgend
einer hohen Frequenz zappelt.
Ich habe da schon lieber Lauflichter gemacht und diese dann noch mit
dem Pegel und-verknüpft. war der schönste Effekt fand ich.
Es zuckt nach dem Takt das Licht an,allerdings immer ein anderes.
Ich konnte auch umschalten auf Takt-Lauflicht(Lampen wechslen nach dem
Takt,bleiben aber an.Hier hat man dann ständig Helligkeit im Raum.
Oder ich gab einfach eine LED PegelAnzeige auf die Ausgänge.

Da es songs gab,bei dem kaum ein Takt zu erkennen war ;-) hatte ich
auch einen einstellbaren Taktgenerator eingebaut

War diskret aufgebaut, mit transistoren ;-)
später dann mit cmos and gatter. Die Level Anzeige mit ner 
Widerstandskette
und ner Hand voll Schmitt-Trigger.
Heute würd ich das freilich mit µC machen.

Nur- was soll man einem Einsteiger raten,der obendrein noch keine Zeit 
hat?

Gruß
Andi

von Patrick (Gast)


Lesenswert?

Ich glaub es ist aussichtslos. Ich lass den uC weg, und besorg mir 
irgendwo im Internet eine analoge Schaltung einer Lichtorgel und bau die 
nach.
Vielleicht, wenn ich dann nach dem Studium Zeit habe, mach ich es dann 
mal mit uC. Nur so zum Spass ;-)
Andere Lichteffekte, wie Lauflichter (im Knightrider style), abwechselnd 
blinkende Lampen, usw. kann ich ja trotzdem mit dem uC machen.
Da reichen meine Kenntnisse grad noch aus :-)

Trotzdem vielen Dank!!

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.