Lichtshow für Diorama mit Arduino

  • Ersteller BluePogona
  • Erstellt am
B
BluePogona
Registrierter Benutzer
Zuletzt hier
30.11.23
Registriert
30.11.23
Beiträge
3
Kekse
0
Hallo Zusammen :D

ich bin auf der Suche nach einer Lösung für mein Vorhaben auf euer Forum gestossen und ich hoffe das ihr mir Tips geben könnt.
Ich habe ein Mecha Diorama gebaut das mit LED´s beleuchtet ist.
Die Elektronik dafür habe ich bisher mit fertigen Modulen betrieben und das möchte ich austauschen gegen einen Arduino.
Dazu will ich verschiedene Lichtszenen programmieren die je nach Song eine andere LED-Show erzeugen. Für die erste Szene habe ich es
bisher so gemacht das ich die LED´s manuell je nach Zeitintervall manuell im Programm angesteuert habe aber dann auch nur so das der
Hangar quasi "hochfährt".
Jetzt möchte ich allerdings in der zweiten Szene das ganze so machen das die LED´s eine Show machen wie z.b. bei den ganzen Weihnachts-
häusern in den USA.
Mein erstes Problem ist ob es eine kostenlose Software gibt die mir die Songs ausliest und mir Zeitstempel oder sogar gleich eine Show
erstellt (wenn ich die LED´s konfiguriert habe) gibt damit ich da nicht Wochenlang dran sitze.
Idealerweise sogar für die Arduino Programmierung, glaube ich aber eher nicht.
Habt ihr irgendwelche Vorschläge mit welche Software ich das machen könnte?

Ich danke euch schon mal :D
 
Willst du einzelne LEDs vom Arduino ansteuern, Mulit-Colour LEDs oder Lichtband?
Dafür gibt es für den Arduino Bibliotheken.

Welche Software auf welcher Platform soll die Songs auslesen/wiedergeben?

Theoretisch könnte eine geeignete Software auf einem Windows-PC USB Midi Befehle an einen Arduino Leonardo schicken, der meines Wissens auch USB Midi kann (mit entsprechender Bibliothek)
Dann könntest du von dem Abspielprogramm Midi Kommandos parallel zum Song an den Arduino schicken, der dann die LEDs steuert.
 
Also es sind alles einzelne LED´s, ca. 70 Stück, die über Treiber Platinen, PCA9685, an den Arduino angeschlossen sind.
Plattform ist Windows.
 
Wir haben die Beleuchtung für etwas ähnliches (https://www.rfo.de/mediathek/video/mechanische-krippe-altoetting/) damals mit DMXControl2 gelöst. Da gibt es auch einen Audioplayer, in welchem man dann entsprechende Marker setzen kann, um Effekte zu starten oder zu beenden.

Allein mit einem Arduino würde ich das nicht machen wollen. Ich zweifle auch an der Machbarkeit im von dir beschriebenen Umfang. Für den Arduino selbst gibt es auf keinen Fall ein Projekt, das dir ganze Audiofiles auswerten kann, das scheitert an allen Parametern (Rechenleistung, Speicher, realisierbare GUI). Man könnte ihm wohl maximal beibringen, dass er von einer SD-Karte eine Textdatei mit einer Art Cueliste mit vorgegebenen Fade- und Haltezeiten ausliest und das abspielt. Ob es derartiges fertig gibt, weiß ich nicht. Wenn nicht, ist das auf jeden Fall schon eine Aufgabe für eher routiniertere Arduino-Entwickler. Wie ist denn in der Hinsicht dein Kenntnisstand?

Was höchstens noch ginge, wäre ein Raspberry Pi. QLC+ läuft ja z.B. drauf, aber auch da gibt es glaube ich keinen Audioplayer.

Auch wenn der Energieverbrauch etwas höher ist, würde ich wohl die PC-Lösung wählen. Ich habe ein paar Jahre lang (mittlerweile ist mir der Aufwand zu groß bzw. es fehlt einfach die Zeit, die entsprechende "Peripherie" aus PWM-Dimmern etc. aufzubauen) meine Weihnachts-Außenbeleuchtung mit einer derartigen Lösung gesteuert. Hierfür habe ich DMXControl2 auf einem alten Igel Thinclient mit Windows FLP laufen lassen (extrem abgespeckte Windows XP-Version).

Entweder man nimmt dann ein USB-DMX-Interface (in einfachsten Fall was zum Enttec Open DMX kompatibles, das kann ein schlichter Digitus DA-70157 sein) oder man füttert den Arduino direkt über ein Ethernet-Shield mit ArtNet (oder nimmt einen ESP mit WLAN). Da kannst du ja dann deine ganzen LEDs etc. ja wieder dran betreiben über die PWM-Ausgänge samt nachgeschalteter Leistungstreiber.
 
Man kann das durchaus mit dem Arduino machen. Der PCA9685 kann ja selber PWM für jeden Kanal (ich kenne den eher vom Missbrauch als Servo-Treiber).

Dann kann man auf dem PC eine DAW oder ähnliches verwenden, um parallel zum Audio MIDI Informationen zu erstellen (MIDI Spur parallel zur Audiospur).
Wenn man jetzt einer LED eine Note zuordnet, dann kann die Lautstärke der Note der Helligkeit der LED zugeordnet werden.
Das MIDI kann man ja auf den Arduino per USB übertragen.
Dann ist das im Arduino eine durchaus überschaubare Angelegenheit. (Note empfangen, Velocity der Note auf die zugeordnete LED ausgeben)
Ja, USB Library auswerten, und dann über I²C an die PCA Treiber weitergeben (I²C Adresse zuordnen, interne Register(zuordnen) des PCA setzen).
Wenn man das einigermaßen geschickt aufsetzt, dann kann man das sogar algorithmisch aufsetzen. Eventuell muss man mit 32 multiplizieren (oder 5 nach links schieben - geht schneller), weil MIDI nur von 0..127 geht und die PCAs 12 Bit Auflösung haben (0..4095)

Grundsätzlich machbar ist das, aber viel Arbeit, vor allem das Erstellen der Show auf dem PC, weil man ja jedes Event passend zum Audio anlegen muss.

Ich habe mal eine Show zu einem ca. 3 Minuten Stück mit dem PC Dimmer (da ganz normal DMX) erstellt. Allein das punktgenaue Editieren (Abfeuern von Szenen punktgenau zum Audio) ist viel Arbeit. Überblendungen auf eine ZEit sind weniger Aufwand, aber so Änderungen auf markante Schläge, Schlag für Schlag frisst Zeit.
Ich habe - glaube ich - ca. 1 Stunde an dem 3 Minuten Stück für die Show editiert. War ein Special zu Silvester und gleichzeitig das erste Mal mit der Software, aber zu weiteren Stücken hatte ich keine Lust.

Wenn man das geschickt programmiert (Neue Noten ändern nur die neuen zugeordneten Werte - alle anderen ändern sich nicht), dann geht das schon. ICh würde noch einen speziellen "Alles aus" Befehl definieren (Lichttechnisch Blackout)
 
Aber auch da muss der PC ja parallel mitlaufen und die MIDI-Daten senden, oder? Oder hab ich das jetzt falsch verstanden? :redface:

Wie gesagt, mit PC "nebendran als Controller" gibt es quasi unzählige Möglichkeiten. MIDI, DMX, man baut sich einen einfachen seriellen Befehlssatz - whatever.
Nur einen Arduino ganz allein - höchstens noch mit einer kleinen Audio-Baugruppe (DAC/ADC) - ohne übergeordneten Controller, der ihm sagt "was, wann, wie" dieses Vorhaben umsetzen zu lassen, das halte ich für nicht realistisch. Da sich die Antwort ja aber mit einer überschnitten hat und nun Windows als Plattform genannt wurde, ist das aber eventuell auch gar nicht so gefordert und es darf/soll ohnehin ein PC als Controller mitlaufen. Dann gibt es wie gesagt zahlreiche Möglichkeiten.
 
@SB Ich bin zwar vor zig Jahren umgeschulter Fachinformatiker (C/C++ Grundlagen) aber an sich bin ich Elektromeister und von daher Anfänger :)
PC fällt leider aus weil der Hangar soll auf Messen wie z.b. der Dokomi ausgestellt werden. Die Krippe ist echt gut geworden.
Jetzt hab ich noch mehr Ideen für den Hangar... XD

@chris_kah Also der PCA9685 wird ja als Servo Treiber beworben und die Bibliothek von Adafruit dazu kann auch LED´s per PWM ansteuern.
"Alles Aus" Befehl ist schon vorhanden, das mach ich immer direkt am Anfang einer Szene da es doch schon mal vorkam das ein paar LED´s
trotzdem weiter geleuchtet haben. Ich schau mir mal PC Dimmer an.
Achja als Audio Gerät habe ich den DF Player Mini verbaut.
 
Achja als Audio Gerät habe ich den DF Player Mini verbaut.
Dann wird es schwierig. Wie soll der denn die Kommandos zu LED Steuerung abgeben?

PC Dimmer macht hier gar keinen Sinn, weil du ja kein DMX verwendest.
 
Vielleicht ist ein Vorschlag aus einer ganz anderen Ecke hilfreich für Dich:
mobaledlib
Das kommt eigentlich aus dem Modelleisenbahn-Bereich, aber könnte für Dich passen: Läuft auf Arduino, steuert LEDs an, ist wohl einfach zu programmieren, und es gibt Soundmodule darin.
Hilfreich sind auch die Entwickler, die immer gut ansprechbar sind.
Grüße, Bernd
 

Unser weiteres Online-Angebot:
Bassic.de · Deejayforum.de · Sequencer.de · Clavio.de · Guitarworld.de · Recording.de

Musiker-Board Logo
Zurück
Oben