Arduino als Lichtorgel

Guten Tag,

Ich hatte mir überlegt, da ich bereits einen Arduino Mega im Auto habe, einen Sternenhimmel zu bauen der im Takt der Musik blinkt. Dazu könnte man auch einfach eine Lichtorgel nehmen ich weiß, ich dachte mir aber das man es in verschieden Arten blinken lassen könnte oder auch einfach nur an/aus/dimm Funktion nutzten könnte.

Meine Frage ist jetzt eigentlich - wie kann man dem ­Arduino sagen wann Bass/Mittel/Hochtöne kommen? Zum Beispiel ein Mikrofon oder eine extra Schaltung zusammen löten oder einfach direkt einen Lautsprecher anzapfen.

Danke schon mal im Voraus

Jortox:
Meine Frage ist jetzt eigentlich - wie kann man dem ­Arduino sagen wann Bass/Mittel/Hochtöne kommen? Zum Beispiel ein Mikrofon oder eine extra Schaltung zusammen löten oder einfach direkt einen Lautsprecher anzapfen.

Entweder schickst Du Dein Audiosignal über verschiedene Frequenzweichen und bekomst das eine Audiosignal aufgeteilt in ein Tieftonsignal, ein Mitteltonsignal und ein Hochtonsignal.

Oder Du machst ein digitales Signal Processing und wertest das Signal digital aus. Da der Arduino ein bisschen langsam ist für schnelles Audio-Processing hoher Frequenzen, kannst Du zum Beispiel einen kleinen Baustein namens MSGEQ7 verwenden. Der ist eigentlich dafür da, um Signale für einen 7-Band Equalizer auszugeben, aber da der für 5V Betrieb geeignet ist, kannst Du ihn für diverse Basteleien am Arduino verwenden, wenn Du die Signalstärke für 7 Frequenzen ermitteln möchtest.

Bass-Erkennung mit RC-Tiefpass wurde hier gemacht:
http://forum.arduino.cc/index.php?topic=251820.0
Und das hat auch recht gut funktioniert:
http://forum.arduino.cc/index.php?topic=257024.msg1837174#msg1837174

Genauso kann man auch andere Frequenzfilter bauen, wobei diese einfachen RC-Filter halt eine ziemlich schlechte Übertragungsfunktion haben. Aber es geht einigermaßen.

Einfachste und sofort funktionierende Variante: MSGEQ7 Shield http://www.watterott.com/de/Spectrum-Shield

Ein MSGEQ7 ist ein (preiswerter) Spectrum-Analyzer-on-a-chip, welcher sich vorzüglich zum Erkennen von Audioereignissen (z.B. auch saubere und sichere Beaterkennung) eignet. Analysiert 7 Frequenzbänder Stereo mit 10 Bit Auflösung. Schnell.

Siehe meine Posts in diesem Thread: Lichteffekte zum Bass - Deutsch - Arduino Forum

Grüße

Helmuth

Der ist eigentlich dafür da, um Signale für einen 7-Band Equalizer auszugeben,

@jurs: Bitte enttäusche mich nicht mit solch unscharfer Formulierung. Der MSGEQ7 ist ein Analyzer, nix weiter. :wink:

@Mike60: Nicht gleichgerichtetes und nichtgeglättetes Audiosognal auf AnalogIn ist Schwachsinn sinnlos unpraktisch. (Nulldurchgänge = Chaotische Messergebnisse oder große Latenz durch Mittelwertbildung: die so umgesetzte Beaterkennung wird unzuverlässig sein und/oder zeitlich spürbar "hinterherhinken")

Hier noch ein Echtzeitvideo von meinem Setup, wo "nebenbei" noch 256 LEDs mit Daten gefüttert werden (auf einem Mega2560). Etwas schnelleres habe ich auf einem AVR noch nicht gesehen.

@Mike60: LOL, ich habe Monate meines Lebens vor einer GrandMA2 verbracht, ich leide mit Dir... :wink:

Am Ende habe ich sie mit einem Drumcomputer getriggert, den ich von Hand via Tap gesynct und um die Verarbeitungslatenz "vorgezogen" habe... um damit neben ein paar 100kW Licht Flammenwerfer exakt "ont the beat" zu triggern. Zum Glück zu elektronischer Musik mit halbwegs konstantem Tempo. :wink:

Good old times...

Beste Grüße

Helmuth

Licht FOH = temporär GOTT :wink:

Wenn man da weiss, was man da tut, hat man die Macht darüber, ob nur alle Hände oben sind, oder ob eben alle brüllen und die Nacht nie vergessen... 8)

Zurück zum Thema: Wenn @Jortox Bock auf löten hat, gäbe es noch diese erprobte Lösung zur Beaterkennung (Aufbereitung des Audiosignals inkl. Hardware Filterung).

(...aber ich persönlich finde den MSGEQ7 zeitlich präziser und logistisch einfacher - weil fertig aufgebaut erwerbbar...)

Egal, guter Grundlagenbeitrag hier :

Nochmal ein Einwand:
Eine Autohimmel Stern-Beleuchtung kann bei fahren stark ablenken bzw andere Fahrer stören.

Grüße Uwe

Das ist nicht Dein Ernst @Uwe, oder?! Sowas benutzt man natürlich ausschließlich im Autokino oder vor dem Club oder auf dem Festivalcampingplatz - sonst sieht es doch niemand!... :wink:

Beste Grüße

Helmuth

Danke für die hilfreichen antworten :slight_smile:

Ich werde es wahrscheinlich mit einem MSGEQ7 versuchen. Ich bin aber vor kurzem auch noch auf diese Schaltung gestoßen.

http://www.dieelektronikerseite.de/Circuits/3%20Kanal%20LED-Lichtorgel.htm

Wie verwendbar ist diese?

Und habt ihr Beispielcodes für einen MSGEQ7?

Viele Beispiele, was man mit einem MSGEQ7 und einer LED Matrix machen kann, habe ich hier gezeigt und kommentiert: FunkyClouds

Alles, was Du in diesen Videos siehst, sind meine Beispiele aus FunkyClouds:

http://forum.arduino.cc/index.php?topic=238567.30

Beste Grüße

Helmuth

Jortox:
3 Kanal LED-Lichtorgel

Wie verwendbar ist diese?

Das ist halt eine klassische analoge Siebzigerjahre Lichtorgel, die nur auf den absoluten Audiopegel bei vorgegebener Potistellung reagiert: Die Schaltschwellen für die drei Kanäle müssen anhand des aktuellen Pegels an drei Potis eingestellt werden. Und das möglicherweise für jedes Musikstück neu, damit das Licht ordentlich orgelt.

Digital und mit Mikrocontroller gesteuert könntest Du demgegenüber automatisch aussteuern, indem Du den durchschnittlichen Pegel im Zeitverlauf beim Schalten berücksichtigst, ohne dass irgendwo ein Poti nachgestellt werden muss.

Digitale Basteleien für den msgeq7 Baustein findest Du über Google einfach mit den Suchbegriffen "msgeq7 arduino".

Danke an euch für die gute Erklärung :slight_smile: