TV-Ambiente selbst gemacht
Hintergrundbeleuchtung mittels Enigma2-Receiver und LED-Lichtschlauch kostengünstig selbst bauen
Schon seit Jahren erfreut Philips die Käufer seiner Flachbildfernseher mit der Funktion „Ambilight“. Dahinter verbergen sich im Gehäuse eingebaute Leuchtdioden, die die Wand seitlich und hinter dem Fernseher anstrahlen und somit ein ganz besonderes TV-Erlebnis bieten.
Die Technik dahinter ist so simpel wie clever: Das gerade abgespielte TV-Material wird analysiert und die Farben an den Rändern werden von den in den Ecken verbauten LEDs in gleicher weise übernommen. Das so entstehende dynamische Lichtbild an der Wand wirkt wie eine Vergrößerung des Fernsehbildes und verbessert das Ambiente besonders im Dunklen wirkungsvoll. Wer einmal ein TV-Gerät mit Ambilight besessen hat, wird nur selten auf diese besondere Funktion verzichten wollen. Was aber tun, wenn man diese Funktion erst einmal ausprobieren will oder der Neukauf eines Fernsehers bislang noch nicht in Betracht gezogen wurde? Hierfür gibt es eine interessante Lösung für Leute, die sich ein wenig mit Elektronik auskennen. Für weniger als 50 Euro lässt sich nämlich eine Ambilight-ähnliche Lösung selber bauen.
Enigma2-Receiver erforderlich
Unsere in diesem Workshop beschriebene Lösung basiert auf modernen Linux-Boxen mit ARM-Prozessoren wie beispielsweise
die aktuellen Modelle von Vu+ oder Gigablue. Grundsätzlich sollte das Projekt aber auch auf älteren Boxen laufen, das ist dann allerdings immer ein wenig Glückssache. Selbst bei den beschriebenen 4K-Boxen mussten auch bei uns im Test zunächst einige Hürden umschifft werden, bevor der LED-Streifen endlich für Erleuchtung sorgte.
Plugin Enigmalight macht es möglich
Neben einem passenden Receiver – im Testfall handelt es sich dabei um den Vu+ Ultimo 4K – sind noch einige zusätzliche Komponenten erforderlich. So benötigen wir einen passenden LED-Streifen, der auch lang genug ist. In unserem Fall hatten wir einen Streifen in einer Länge von 5,25 Meter zur Verfügung. Mit etwas Verschnitt am Ende reichte dieser ziemlich genau aus, um einen Fernseher mit einer Bildschirmdiagonale von 65 Zoll zu bestücken. Am besten ist es, Länge und Breite des Gerätes zu messen und mit etwas Überhang einen LED-Streifen in der entsprechenden Länge zu bestellen. Es
muss allerdings darauf geachtet werden, dass es sich um programmierbare LEDs handelt. Und auch hier gibt es Unterschiede: Wir hatten den relativ modernen Typ WS2813 im Einsatz. Dieser zeichnet sich durch LEDs mit integriertem Controller aus, die über eine Datenleitung angesprochen wird. Fällt eine LED aus, kann der Streifen im Gegensatz zu anderen Modellen weiterhin betrieben werden. Außerdem wird er mit moderaten 5 Volt Speisespannung betrieben. Allerdings: Im Laufe
des Workshops stellte sich heraus, dass 12 Volt wohl die bessere Wahl gewesen wären. Der Grund ist einfach: Unser LEDStreifen wird vom Hersteller mit 69,3 Watt Maximalleistung angegeben. Daran sollte sich auch die Leistung des Netzteiles orientieren. Bei 5 Volt wären das fast 14 Ampere. Kein Steckernetzteil liefert diese Leistung, hierfür muss ein spezielles Schaltnetzteil erworben werden. Auch bei der Annahme, die Maximalleistung wird nie komplett abgerufen – 10 Ampere sollten es schon sein. Würde der Streifen mit 12 Volt laufen, würde hingegen ein 5-Ampere-Netzteil reichen. So eines hat man möglicherweise eher noch irgendwo herumliegen. Welchen der programmierbaren Streifen Sie verwenden, ist letztlich Nebensache, für unser Projekt funktionieren alle. Soll es 12 Volt Speisespannung sein, kommt nur der WS2811 in Frage. Achten Sie beim Kauf aber unbedingt darauf, dass möglichst viele LEDs pro Meter auf dem Streifen sind – umso besser wird das Lichterlebnis.
Netzteil
Wie schon erwähnt, benötigen wir ein anständig dimensioniertes Netzteil. In unserem Fall haben wir uns für ein Schaltnetzteil mit 14 Ampere (17 Watt) entschieden. Diese gibt es zu Preisen um die 20 Euro zum Beispiel bei Amazon oder Ebay. Bei den Zuleitungen zum
LED-Streifen sollte auf einen ausreichenden Kabelquerschnitt geachtet werden. Sind die Kabel zu dünn, können sie sich schnell stark erhitzen und im Extremfall droht sogar Kabelbrand. Eine gute Orientierung zum Thema gibt hier die Website LED-Studien.de. Dort kann der erforderliche Kabelquerschnitt in Abhängigkeit von der Kabellänge berechnet und der Spannungsabfall angezeigt werden.
Steuereinheit
Schließlich benötigen wir noch eine passende Steuereinheit für den LED-Streifen. Diese Elektronik wird sozusagen unser Vermittler für die ankommenden Daten der Linux-Box und setzt die Steuerbefehle in Farben am LED-Streifen um. Prinzipiell eignen sich hierfür verschiedene Kleinstcomputer- oder Microcontroller. Also beispielsweise ein Raspberry, ein Arduino oder für die Steuerung per WLAN ein ESP8266. Da wir bei unserem Projekt auch etwas auf den Geldbeutel achten wollen und bei den kurzen Signalwegen eine anfällige WLAN-Verbindung nicht erforderlich ist, haben wir uns für den Arduino als Basis entschieden. Für unseren Testaufbau haben wir zunächst einen Arduino Uno verwendet. Später kommt als echtes Steuermodul ein Arduino Nano Clone aus China zum Einsatz. Dieser ist bei Ebay für wenige Euro erhältlich und kann direkt in Deutschland bestellt werden. Ein Ordern aus China ist zwar auch möglich, dabei sparen wir aber prozentual nur wenig und nehmen lange Lieferzeiten in Kauf.. Der zur Absicherung der Datenleitung gedachte 30-Ohm-Widerstand ist für wenige Cent im Elektronikhandel erhältlich.Sind die Komponenten vollständig, machen wir uns an die Programmierung.
Arduino-IDE installieren
In unserm Beispiel nutzen wir einen PC mit Windows zur Programmierung unse
res Arduino. Natürlich funktioniert das in ähnlicher Weise auch am Mac oder einem Linux-Rechner. Wir installieren zunächst die Arduino-IDE mit dem Arduino Web-Editor von der Webseite www.arduino.cc. Nachdem wir die Software installiert haben, starten wir diese. Als erstes laden wir eine zum Betrieb unseres LED-Streifens erforderliche Bibliothek mit dem Namen „FastLED“von Daniel Garcia nach. Dazu gehen wir auf „Werkzeuge/ Bibliotheken verwalten“und geben oben rechts in das Suchfeld FastLED ein. Die Bibliothek müsste erscheinen und kann auf Knopfdruck installiert werden. Anschließend richten wir die Arduino-IDE noch korrekt ein. Dazu schließen wir zunächst den Arduino Uno oder Nano an den PC an und prüfen über den Gerätemanager am PC, ob der Treiber korrekt installiert wurde. Ist dies nicht der Fall, suchen Sie nach dem passenden Treiber im Netz (in der Regel kommt der Chipsatz CH340 zum Einsatz) und installieren diesen. Wird der Arduino an einer COMSchnittstelle angezeigt, können wir mit der Einrichtung beginnen. Je nach Modell wählen wir als Bord „Arduino/Genio“oder
„Arduino Nano“aus. Im letzten Fall muss häufig noch der Prozessor „ATmega328P Old Bootloader“gewählt werden. Der COM-Port wird im Programm ebenfalls angezeigt und sollte korrekt ausgewählt werden. Nun können wir unsere ersten Versuche mit dem LED-Streifen starten.
Erster Test ohne Receiver
Wir haben uns dazu einen kurzen Streifen mit 6 LEDs abgeschnitten und diesen wie in der Skizze angemerkt verkabelt. So brauchen wir zunächst beim Test noch kein Netzteil und können den Arduino korrekt programmieren. Wir testen erst einmal die grundsätzliche Funktion, indem wir auf „Beispiele/FastLED/ColorPalette“navigieren und die Auswahl bestätigen. Es öffnet sich ein neues Fenster mit Programmiercode für den Arduino. Tragen Sie nun im oberen Bereich den DatenPIN (im Beispiel die 6), die Anzahl der zu steuernden LEDs, den Typ des LED-Streifens und schließlich die Farbreihenfolge (siehe Unterlagen zum Streifen) ein. Wird ein alter Streifen vom Typ WS2801 verwendet, muss zusätzlich eine zweite Leitung angeschlossen und programmiert werden. Wir empfehlen einen moderneren Streifen ab WS2811 mit einer einzelnen Datenleitung. Ist alles eingetragen, klicken Sie oben auf den Rechtspfeil (hochladen). Unser Programm wird nun auf den Arduino übertragen. Hat alles geklappt, sollten keine Fehlermeldungen erscheinen und das Programm mit „Hoch
laden abgeschlossen“antworten. Nach einigen Sekunden sollte unser LED-Streifen anfangen, verschiedene Farbspiele anzuzeigen. Damit wäre die grundsätzliche Funktion sichergestellt und wir können uns an die Einrichtung des AmbilightNachbaus machen. Wer möchte, kann aber noch mit dem Beispielprogramm „RGB Calibrate“die korrekte Farbreihenfolge des Streifens ermitteln. Neben RGB gibt es auch die Reihenfolge BGR, GBR, GRB, BRG und RBG. Damit wird beschrieben, in welcher Reihenfolge die Farbbefehle an die LEDs übergeben werden. Bei der Einrichtung von Enigmalight wird uns diese Einstellung noch einmal begegnen. Aber beginnen wir nun mit dem Bau unseres persönlichen Ambiente-Lichts.
LED-Streifen am TV anbringen
Hierzu müssen wir nun unseren Streifen auf der Rückseite des Fernsehers befestigen. Wer es besonders elegant machen möchte, schneidet die Streifen für alle vier Seiten auf Maß und klebt diese dann an den Fernseher. Achtung: zuvor sollen die potentiellen Klebestellen noch mit Spiritus fettfrei gereinigt werden. Anschließend werden drei Enden der Streifen miteinander verbunden – entweder über spezielle Verbindungsstücke oder einfach mit angelöteten Kabeln. Achten Sie dabei auf die richtige Ausrichtung der Streifen. An den LEDs sind die Einund Ausgänge beschriftet: Bei unserem WS2813 ist DI/BI die Eingangsseite und DA/BA die Ausgangsseite. Wir haben auf ein Zerschneiden des Streifens verzichtet und stattdessen vorsichtig einen kleinen Knick in den Streifen gemacht. Ist alles am TV angebracht, müssen Sie nun noch die LEDs auszählen, und zwar für jede Seite einzeln. Das ist für die Programmierung und spätere Einrichtung von Enigmalight unumgänglich.
Arduino programmieren
Öffnen Sie nun die Seiten mit den Skript aus der Tabelle (Link: Arduino-Software). Es öffnet sich eine Seite mit der kompletten Programmcode (bei Arduino „Sketch“genannt). Achtung: Manche Browser haben mittlerweile eine Übersetzungs-Automatik, diese bitte unbedingt abschalten und die Seite in Originalsprache laden! Ansonsten werden Befehle übersetzt und der Code funktioniert nicht mehr. Übernehmen Sie den Code per Copy & Paste in ein leeres Fenster vom Web-Editor der Arduino-IDE und ändern Sie noch die Angaben zu LED-Anzahl, Daten-PIN, Streifentyp und Farbreihenfolge nach Ihren
Voraussetzungen ab. Achten Sie aber darauf, dass der PIN für den LED-Streifen PWM-fähig ist. Empfehlenswert sind die PINs 5 oder wie in unserem Fall 6. Die LED-Anzahl bezieht sich auf den kompletten am TV angeklebten Streifen, also alle vier Seiten zusammenrechnen. Als „Serial Speed“geben wir 50000 ein. Laden Sie nun den Skript auf den Arduino. Hat alles geklappt, können wir uns an den weiteren Zusammenbau machen.
Hardware verkabeln
Schließen Sie also nun den Arduino mittels eines Datenkabels an einen der USB-Anschlüsse des Receivers an. Unser Daten-PIN und die Masse (nicht!! die 5 Volt vom Arduino) werden an den LED-Streifen angeschlossen und dieser mit unserem Schaltnetzteil verbunden (Plus und Masse). Wer möchte, kann die Stromversorgung zusätzlich auch an das Ende des Streifens anbringen, dann wird von beiden Seiten gespeist. Die Stromversorgung vom Arduino übernimmt der Receiver. Die 5-Volt-Verbindung vom Arduino darf deshalb nicht zum Streifen gehen, da bei Ausfall unseres Schaltnetzteiles sonst der Strom über den Arduino fließt und dessen Spannungswandler vermutlich „abrauchen“würde. Haben wir al
les korrekt verkabelt und angeschlossen, widmen wir uns nun als letzten Schritt der Einrichtung von Enigmalight.
Enigma2 einrichten
Hierzu sollten wir uns zunächst die Systemvoraussetzungen anschauen. Wir haben hier einen Vu+ Ultimo und nutzen die Firmware OpenATV. Möglich ist auch der Betrieb mit VTI, sofern es sich um ein Vu+ handelt. Auch dort ist Enigmalight für ARM verfügbar. Wir bleiben aber bei OpenATV und zwar in der Version 6.3. Das ist wichtig, denn unter 6.4 funktioniert das Plugin noch nicht korrekt. Außerdem dürfen wir nicht das im Feed von OpenATV verfügbare Plugin Enigmalight 0.4-rc0 nutzen. Zwar wäre eine Einrichtung per Feed einfacher, im Test aber funktionierte die Version mit unserer Hardware nicht! Stattdessen googlen Sie bitte nach „Enigma2-plugin-extensionsenigmalight_0.4-rc1_all.ipk“. Sie werden vor allem einige Foren als Treffer ausgewiesen bekommen. Am besten laden Sie sich das Plugin aus dem Forum von OpenATV. Hier müssen Sie sich einloggen oder eventuell noch einmalig anmelden. Legen Sie das Plugin per FTP in den tmpOrdner und installieren Sie dieses über die Blaue Taste (Erweiterungen/IPK-Installer). Anschließend den Receiver neu starten. Nun sollte Enigmalight unter Erweiterungen erscheinen.
Öffnen Sie zunächst die Einstellungen und wählen Sie ganz oben unter „Type of Enigmalight binary“experimentell aus. Nur so funktionierte unser Streifen. Speichern Sie die Einstellungen und gehen Sie nun in den Config-Editor. Wählen Sie als Device-Type „Adalight/Momo“und bei Device output sollte entweder /dev/ttyACM0 (Arduino Uno) oder /dev/ttyUSB0 stehen. Geben Sie als Datenrate unsere 50 000 ein. Diese muss mit unseren Einstellungen beim Arduino-Sketch übereinstimmen, sonst kommt keine Datenverbindung zustande. Als nächstes müssen
Sie die Anzahl der LEDs an den jeweiligen Seiten angeben und den Startpunkt festlegen. Hierbei ist die Stelle gemeint, an der die Datenverbindung zum LED Streifen angeschlossen ist. Außerdem muss noch die Richtung (im Uhrzeigersinn oder entgegen) eingegeben werden, in der Sie die Streifen verklebt haben. Alle anderen Einstellungen belassen wir so, wie sie sind.
Drücken Sie die grüne Taste „Create configfile“. Anschließend drücken Sie nun zum Testen auf die gelbe Taste „Create and Test…“. Diese Vorgehensweise ist erforderlich, weil das Plugin auf manchen Receivern noch fehlerhaft ist. Hat alles geklappt, sollte der Streifen nun beginnend mit rot einen RGB-Farbwechsel anzeigen. Funktioniert das, gehen wir wieder ins Hauptmenü von Enigmalight und starten mit der grünen Taste „Turn lights on“. Nun sollten die LEDs dynamisch leuchten. Gratulation, wir haben es geschafft! Sollte stattdessen ein Fehler auftreten, gehen Sie nach der Tabelle „Fehler beim Start von Enigmalight“vor und erstellen Sie die Ordner.
Farben nicht korrekt?
In unserem Fall hatten wir noch mit einem kleinen Problem zu kämpfen: Im RGBTest und auch über Moodlamp stimmten unsere Farben des Streifens alle. Bei der dynamischen Wiedergabe waren aber Rot und Blau eigenartigerweise vertauscht. Glücklicherweise konnten wir dieses Problem relativ schnell lösen, indem wir im Config-Editor von Enigmalight im Menüpunkt „Color order“von RGB auf BGR umschalteten. Im Zweifelsfall hilft hier einfach ein wenig Probieren weiter. Man kann in den generellen Einstellungen auch festlegen, ob Enigmalight generell aktiv sein soll oder nur bei Bedarf. Im zweiten Fall kann die Ein/Ausschaltfunktion natürlich auch mit den Hotkeytaste der Fernbedienung gelegt werden.