Mit einem Jahr Verspätung folgt nun der dritte Teil wie man selbst eine digitale Weihnachtsbeleuchtung bauen kann.
Digitale Weihnachtsbeleuchtung selbst gebaut - Teil 1 Digitale Weihnachtsbeleuchtung selbst gebaut - Teil 2
In diesem dritten Teil gebe ich meine Teensy Treiber Software zum Download frei und erkläre wie man die Software auf den Teensy lädt. Danach erfolgt die Installation der Gratis Software “Vixen Lights” und ein Beispiel, wie man zum Start eine mini Weihnachtsbeleuchtung mit 50 LED konfiguriert. Der Teil 3 ist sehr umfangreich da der ganze Weg bis zum Betrieb beschrieben ist.
Teensy 3.1 / 3.2 mit “vchristmas v1.0” flashen
Als erstes lädt man die aktuelle Version 1.6.12 von Arduino herunter. (Arduino 1.6.12 – Download)
Danach muss man zu Arduino die Zusatzsoftware Teensyduino installieren. Nur so kann man den Teensy nachher mit der Treibersoftware “vchristmas” flashen. (Teensyduino 1.31 (beta) – Download)
Wer mit einer älteren Arduino Version arbeitet kann die offizielle Version 1.30 herunter laden. (Teensyduino 1.30 – Download)
Als letztes wird noch mein Sketch für den Teensy benötigt. (Arduino Sketch vchristmas v1.0 – Download) Datei entzippen “vchristmas_v_1_0.ino”.
vchristmas funktioniert nicht auf einem Arduino!
Teensy flashen
Teensy an Computer anschliessen und das Ardunio Programm starten.
Unter Tools > Board > Teensy 3.2/3.1 auswählen
CPU Speed > 72 MHz optimized speed auswählen (andere Optionen habe ich nicht getestet)
Port: den COM Port wählen, an welchem der Teensy angeschlossen ist.
Jetzt die zuvor herunter geladene und entzippte Datei “vchristmas_v_1_0.ino” laden
const int ledsPerStrip = 1000; // Maximale Anzahl Pixel pro Strang int PixelCount = 50; // Effektive Anzahl Pixel float hell = 0.50; // Dimmer 1.00=100% Helligkeit - 0.50=50% Helligkeit
Jetzt die drei Werte nach Bedarf anpassen. Zum Start empfehle ich die Einstellungen jedoch so stehen zu lassen.
Nun den Code verifizieren (Haken oben Links) und danach den Upload (Pfeil nach Rechts) starten.
Es meldet sich noch das Teensyduino Programm und fordert auf den Button am Teensy zu drücken.
Wenn alles geklappt hat, leuchten alle LED für fünf Sekunden Blau auf. Dies soll signalisieren, dass der Teensy bereit ist um die Daten von Vixen Lights zu empfangen. Jedes Mal wenn der Teensy am USB Port des Computers neu eingesteckt wird wird diese Testroutine ausgeführt. Wenn nichts leuchtet muss die Datenleitung und die Stromversorgung geprüft werden. Leuchten die LED willkürlich oder flackern wild um sich besteht ein Problem an der Datenleitung oder an einer der LED.
Jetzt die Arduino und Teensyduino Programme beenden, damit der COM Port für Vixen Lights freigegeben wird.
Vixen Lights installieren
Nun ist es an der Zeit die neuste Version von Vixen Lights zu installieren. Das Programm gibt es zur Zeit nur für Windows. Die Version läuft einwandfrei mit Windows 10 und älteren Versionen. Die Installation ist selbsterklärend und es sind keine weiteren Schritte notwendig.
Vixen Lights konfigurieren
An diesen eigentlich wenigen und simplen Schritten biss ich mir vor gut 3 Jahren fast die Zähne aus. Ich benötigte unzählige Stunden bis ich das Prinzip und die Zusammenhänge verstand.
Als erstes konfiguriert man bei System Configuration das “Setup Display”. Hier wird der Aufbau der Weihnachtsbeleuchtung abgebildet. In unserem Fall nehmen wir eine simple LED Lichterkette mit 50 LED’s.
Wir legen unter Elements eine LED Gruppe Namens “Minitrees” an, welche 50 LED (Item Count) enthält. Später baut man hier die gesamte Weihnachtsbeleuchtung bestehend aus Sternen, Bäumen, Lichterketten, Säulen und Bögen. Eine gute Bezeichnung der Objekte hilft später bei der Programmierung. Man kann auch weitere Untergruppen anlegen. Je nach Aufbau hat dies jedoch später Konsequenzen bei der Zuweisung von Effekten.
Nun haben wir einen ersten Weihnachtseffekt, nun geht es zum Output. Unter Controllers konfigurieren wir die Ansteuerung des per USB angeschlossenen Teensy Prozessors. Es gibt viele andere Controller welche man direkt auswählen kann. Es ist möglich mehrere, auch unterschiedliche Controller, in ein Projekt einzubinden. Wir legen einen “Generic Serial” Controller an.
Wichtig: Nun muss man angeben wie viele Outputs man hat. Da wir mit RGB arbeiten benötigen wir pro LED drei Outputs (für jede Farbe einen). Somit multiplizieren wir die Anzahl der LED mit drei. Bei 50 LED geben wir daher 150 ein.
Bei den Elementen auf der Linken Seite müssen wir nun ebenfalls noch die drei Farbkanäle angeben. Um alle 50 LED auf einmal zu konfigurieren klicken wir auf das Hauptobjekt “Minitrees”. Unten wählen wir bei “Configure” > “Color Handling” und klicken danach auf das Zahnrad. Im aufgepoppten Fenster geben wir die Color Order mit “RGB”. Sollten später die Farbwiedergaben bei Deinen LED Streifen falsch sein, kann man hier die Farbanordnung noch ändern.
Vixen Lights bestätigt das Zufügen der 50 Color Filter.
Bald haben wir es geschafft. In der Mitte der Übersicht sehen wir nun “Total Patch Point 150”. Vorher waren es nur 50. Und so passt das nun perfekt auf die 150 Outputs. Wir klicken nun links auf “Minitrees” und rechts auf “Generic Serial”. Damit wählen wir alle vorhandenen In- und Output Kanäle an. Durch einen Klick auf “Patch Elements” im mittleren Feld verbinden wir nun alle Objekte mit den Ausgangskanälen.
Das erfolgreiche Patchen wird von Vixen Lights nun bestätigt. Später kann man auch beliebige, einzelne “Elements” markieren und mit ebenso beliebigen Output Kanälen verbunden werden.
Wichtig: Die hier verknüpfte Reihenfolge bestimmt nachher, in welcher Reihenfolge die Weihnachtsbeleuchtung verbunden werden muss. Es lohnt sich daher vor Beginn eine Zeichnung aufzustellen und eine kabeltechnisch sinnvolle Reihenfolge zu finden.
Auf der Output Seite müssen wir als letztes noch was kleines einstellen. Unter “Controllers” klicken wir auf “Generic Serial” und gehen unten auf das Zahnradsymbol.
Unter Packet Data wählen wir die Checkbox bei “Send a text header” und schreiben in das Textfeld “VIXStart” rein. Der Teensy reagiert später auf dieses Wort und weiss, wann ein neues Lichtbild übermittelt wird.
Bei “Serial Port Settings” klicken wir auf “Setup/Change Serial Port”. Vixen erkennt den angeschlossenen Teensy und wählt den passenden COM Anschluss. Wir stellen die Baudrate auf 115200 Baud. Der Rest bleibt stehen. Die Fenster durch OK bestätigen. Die Konfiguration ist fertig.
Unter “Patching” > “Graphical View” können wir die Konfiguration grafisch prüfen. Jeder LED Pixel hat dahinter ein “Color Breakdown” welcher sich auf drei “Outputs” verteilt. Bei mir sind das rund 12’000 Output Einträge und da macht die graphische Darstellung nicht mehr mit (langsam bis Crash).
Die Konfiguration ist so abgeschlossen. Unter “Setup Previews” könnte man eine virtuelle Weihnachtsbeleuchtung zeichnen und diese am Monitor anschauen. Diese Konfiguration lassen wir mal weg, denn das Zeichnen ist nicht ganz einfach. Im Internet gibt es dazu jedoch ganz gute Video Tutorials.
Wir programmieren nun unsere erste Weihnachtsbeleuchtungs-Show. Dazu gehen wir im Hauptmenu unter “Sequences” auf “New Sequence…”.
Unter dem Reiter Timeline sehen wir jetzt unseren “Minitree”. Darunter findet man zudem jede einzelne LED nochmals separat aufgeführt. Die einzelnen Objekte kann man nach Bedarf auf- und zuklappen.
Für ein erstes Erfolgserlebnis ziehen wir nun von der “Effects” Liste einen Effekt auf die Zeitachse wo Minitree steht. Mit der Maus kann man den Effekt ganz einfach auseinander ziehen und so die Abspieldauer verlängern. Drücken wir jetzt oben auf die “Play” Taste wird der Lichteffekt abgespielt. Bravo!
Nun könnt Ihr mit dem Experimentieren beginnen. z.B. den Effekt “Set Level” auf einen einzelnen Pixel (z.B. Tree-1) ziehen. Nun leuchtet vom Start bis zur Sekunde zwei nur dieser Pixel in Weiss usw.
Kompliziert?
Ich hoffe, die relativ komplizierte Materie zumindest etwas verständlich beschrieben zu haben. Dieser dritte Teil kostete mich locker 6 Stunden, nur zum schreiben. Das Austüfteln benötigte jedoch dutzende von Stunden. Ich hoffe damit dem einen oder anderen ein bisschen weiter geholfen zu haben. Oder einfach für eigene Projekte angeregt zu haben. Über Feedbacks zur Beschreibung und Verständlichkeit freue ich mich immer.
Wie weiter?
Bis zur kompletten Weihnachtsbeleuchtung sind es natürlich noch einige Schritte erforderlich. Musik auswählen und hinterlegen. Verschiedene Lichtprogramme schreiben. Ich empfehle dabei mehrere kleine Programme mit je ca. 3 Minuten Laufzeit zu schreiben. Danach programmiert man den Scheduler wo eingestellt wird um welche Zeit welches Lichtprogramm abgespielt wird. Der Kreativität sind fast keine Grenzen gesetzt.
Es gibt natürlich noch unzählige Tipps, Tricks und Hinweise. Das würde jedoch den Rahmen sprengen. Wer es jedoch bis hierhin geschafft hat, wird keine Probleme haben sein persöhnliches Weihnachtsprojekt erfolgreich umzusetzen. Ich freue mich natürlich über Feedbacks und Bilder zu umgesetzten Projekten.
66 Kommentare
Uups, da ist mir die Zwischenablage durcheinender gekommen.
Ich wollte folgenden Link posten: https://www.amazon.de/Demiawaking-Wandler-Regler-Display-Netzteil/dp/B073S3LD2L/ref=sr_1_1_sspa?ie=UTF8&qid=1544441511&sr=8-1-spons&keywords=dc+dc+wandler+12v+5v&psc=1 Also diesen Spannungswandler vor jede 5 Volt Lichterkette schalten, damit ein 12 Volt Netzteil verwendet werden kann, und 5 Volt und 12Volt Lichterketten an einem Netzteil betrieben werden können. Gerade die Stripes scheinen bei 12 Volt doch “weisser” zu sein.
Moin,
bin gerade dabei die Christmas Datei auf den Teensy zu laden. Ohne Fehler lädt er die Datei hoch. Leider funktioniert es bei Vixen nicht. Nach dem Flashen sollte laut Sketch und Beschreibung die LED`s Blau blinken für alle 5 Sek. um ein Signal zu geben. Dies tut es leider auch nicht. Habe alles 10 mal kontrolliert und auch schon das Patchkabel getauscht. Der Test mit dem Beispiel Sketch lief einwandfrei. Könnte mir jemand weiterhelfen?
Vielen Dank.
Gruß,
Justin
Hallo,
gibt es mittlerweile eine andere Methode um 5000-6000 LED´s zu Steuern oder ist dies immer noch die Beste Lösung. Werde ein Projekt im Angriff nehmen und möchte für die Hard – und Software die Beste Lösung haben, sind ja nun auch schon ein paar Jahre her, deshalb werfe ich mal diese Frage im Raum. Gruß
Hallo Frank
Es ist schon so, dass es wesentlich leistungsfähigere Lösungen gibt. Preislich ist die Teensy Lösung nach wie vor interessant. Aber heute würde ich die Lösung anders aufbauen. Es gibt ganz viele Kontroller für z.B. LAN basierte Art-Net Ansteuerung. Nur ein Beispiel für einen Kontroller den ich aber nicht im Detail kenne: https://www.xmas-land.de/PixLite-16-MkII-Control-Board.
Zudem würde ich heute nur noch mit 12V WS2812 LED Technik arbeiten. Um so höher die Spannung, um so geringer der Strom. Ein ganz wichtiger Aspekt..
Die Teensy Lösung sehe ich für ambitionierte Elektronik Begeisterte. Die Kontroller Lösung ist teurer, aber vermutlich wesentlich leistungsfähiger und vor allem Ausbaufähiger.
Viel Erfolg bei Deinem Projekt.
Gruss Heinz