Mein Blog über Elektronik, Programmierung, 3D-Druck, Laserbeschriftung und alles was mir Spaß macht

Kategorie: Programmierung

Ambilight mit WLED und VU+ Receiver

Nachdem ich bereits Erfahrung mit WLED (zusammen mit WS2812b LED’s) gesammelt habe und einen VU+ Receiver am Fernseher betreibe, werde ich jetzt beides kombinieren und meinen Fernseher mit einem bereits aus Philips-TV’s bekanntem Ambilight nachrüsten.

Verwendetes Material

Als LED-Streifen habe ich wieder die bereits verwendeten WS2812b genommen, da sich diese bereits bewährt haben.

Der verwendete Microcontroller ist wieder ein NodeMCU bzw. ein ESP8266 mit WLED als Software.

Wie ihr den Microcontroller mit WLED bespielt habe ich hier bereits gezeigt. ESP8266 mit WLED flashen

Mein Receiver VU Uno 4K SE sowie mein Fernseher waren bereits vorhanden.

Planung im Vorfeld

Da ein Fernseher mit 55 Zoll diagonale doch ziemlich groß ist, habe ich Überschlagen, welche Länge mein LED-Streifen haben musste. Die Breite des Fernsehers beträgt ca. 122cm und die Höhe ca. 68cm. Daher habe ich 5m bestellt und davon nicht ganz 4m benötigt.

Sehr hilfreich war bei diesem Projekt die Software “Boblight Tool”, da man bereits nach Eingabe einiger Informationen schon sehen konnte, wie das Ganze in etwa aussehen kann. Vielen Dank an dieser Stelle an die Entwickler und natürlich auch an SEDU-BOARD.de.

So sah die Konfiguration dann bei mir aus, hier auch anzumerken, dass der grün hinterlegte Pfeil unten rechts, die Richtung des LED-Streifens sowie die erste LED angibt.

Ambilight mit WLED und VU+ Receiver

Let’s do it

Vorbereitet hatte ich also 2x 120cm (69LED’s) und 2x 65cm (45LED’s) welche ich von hinten auf den Fernseher geklebt habe. Wichtig dabei ist, darauf zu achten, dass die Richtung der LED-Streifen eingehalten wird, sonst darf man alles wieder abziehen.

Ich habe die LED-Streifen bewusst im Vorfeld zugeschnitten, da ich diese nicht ums Eck knicken wollte. Ich habe die Enden und Anfänge der Streifen einfach übers Eck mit Drähten zusammengelötet.

WS2812b LED ums Eck gelötet

Nachdem die LED-Streifen aufgeklebt waren, konnten diese mit dem Nodemcu Controller verbunden werden. Die Verbindung habe ich genau so gemacht, wie in den vorherigen Beiträgen über WLED.

ESP8266 WS2812b connection
ESP8266 WS2812b connection

Auf das Flashen des Controllers gehe ich jetzt nicht nochmal ein, das könnt ihr gerne hier nachlesen: WLED-Flashen

Als nächstes benötigen wir Enigmalight auf der VU+, bei dem von mir installierten VTi geht das super einfach. Hierzu einfach über Menü -> Erweiterungen – Erweiterungen verwalten -> Enigmalight auswählen und installieren.

VTi Erweiterungen
Erweiterungen installieren

So, bevor wir fortfahren müssen wir den Nodemcu mit der VU+ über USB verbinden und den genauen Port herausfinden. Dazu habe ich die Windows Powershell verwendet, mit dem Befehl “ssh root@IP-Adresse-der-VU” kann man sich direkt ohne Passwort mit der VU+ verbinden. Es wird dringend empfohlen ein Passwort zu vergeben, um den Zugriff vor unbefugten zu schützen.

So sollte die Powershell dann aussehen:

Windows Powershell SSH Zugriff
Verbindung über SSH zur VU+

Nun können wir über den Befehl “ls /dev” die verbundenen Geräte anzeigen lassen. Ich habe hier erst mit verbundenem Nodemcu den Befehl ausgeführt, diesen abgesteckt und den Befehl nochmals ausgeführt, um mein USB-Gerät zu finden. In meinem Fall war es “ttyUSB0”.

ls /dev

Dieses Gerät “/dev/ttyUSB0” können wir nun in den Einstellungen von Enigmalight eintragen. Die Baudrate habe ich auf 115200 gelassen, da dies auch im WLED voreingestellt ist und als Gerätetyp verwenden wir Adalight.

Nun kann über die gelbe Taste die Konfiguration erzeugt und eingespielt werden, die Box startet dabei neu und im Anschluss sollte das Ambilight laufen.

Namensschild mit ESP8266 und WLED

Ich wollte für unseren Sohn zum ersten Ostern etwas besonderes machen, da habe ich mir gedacht, ein beleuchtetes Namensschild mit ESP8266 und WLED wäre doch was.

Verwendetes Material

Das Gehäuse an sich habe ich mittels 3D-Druck aus PLA gefertigt, die Zeichnungen dazu habe ich in Fusion 360 selbst erstellt.

Als LED Streifen habe ich handelsübliche WS2812b genommen, damit ich über WLED auch noch diverse Effekte ablaufen lassen kann.

Der verwendete Microcontroller ist wieder ein NodeMCU bzw. ein ESP8266 mit WLED als Software.

Wie ihr den Microcontroller mit WLED bespielt habe ich hier bereits gezeigt. ESP8266 mit WLED flashen

Design des Namensschilds

Ich habe einfach den Namen “Nico” in Comic Sans gezeichnet, diesen ausgetragen und über einen Versatz einen Hohlraum im Inneren erstellt. unten an den Buchstaben habe ich auch gleich Durchführungen für die Kabel angebracht.

Danach habe ich einen Sockel gezeichnet, auf dem ich später die Buchstaben aufgeklebt habe. Im Sockel sind kleine Aussparungen angebracht, in die ich die Buchstaben platzieren kann, damit später die Buchstaben korrekt ausgerichtet sind. Auch hier habe ich die Durchführungen für die Kabel eingebracht. Links im Sockel ist auch eine Aussparung, durch die später der USB-Port des Microcontrollers erreichbar ist.

Namensschild
Sockel mit Buchstaben und Durchführungen für Kabel und USB-Port

Um die Buchstaben zu verschließen habe ich die Außenkontur übernommen und Deckel dafür gezeichnet. Diese haben innen einen Ansatz, damit sie beim verkleben schon in Position “einrasten”. innerhalb dieses Ansatzes habe ich die Materialstärke auf 0,4mm reduziert, damit so viel Licht wie möglich durchscheint, auch auf die Gefahr hin, dass die verwendeten Leitungen später möglicherweise Schatten werfen.

Deckel für Namensschild

3D Druck

Die Buchstaben und den Sockel habe ich separat in schwarzem PLA gedruckt. Ich habe nicht speziell auf höchste Qualität geachtet, ich habe einfach meine standard Einstellungen benutzt. Die Deckel der Buchstaben habe ich in weißem PLA gedruckt damit die Lichtdurchlässigkeit gegeben ist.

Zusammenbau

Nachdem der 3D-Druck fertig war, habe ich die LED-Streifen mit Anschlussleitungen versehen und in die Buchstaben geklebt. Ich habe darauf geachtet, die Leitungen so zu verlegen, dass sie nicht vor den LED’s sind, um Schattenwurf zu vermeiden.

3D-Druck Buchstaben WS2812 LED RGB
3D-Druck Buchstaben WS2812 LED RGB

Anschließend habe ich die Buchstaben auf die Grundplatte geklebt. Ich habe mich dazu entschieden, Sekundenkleber zu verwenden, da ein längeres Fixieren der Buchstaben auf der Grundplatte nicht möglich war. Die Deckel der Buchstaben habe ich erstmal nur rudimentär befestigt, falls ich nochmal an die LED’s ran musste.

Die Verdrahtung und den Anschluss des Microcontrollers habe ich wie im ESP8266 mit WLED flashen Beitrag gemacht, eben nur mit ein paar mehr LED’s.

ESP8266 WS2812b connection
ESP8266 WS2812b connection

Ergebnis

Auf jeden Fall ein Hingucker! Schon einfarbig beleuchtet macht das Namensschild ordentlich was her, aber wenn dann noch die Effekte von WLED dazu kommen, einfach der Wahnsinn!

Namensschild Nico 3D-Druck RGB LED WS2812
Namensschild Nico 3D-Druck RGB LED WS2812

ESP8266 mit WLED flashen

Da ich für ein Projekt adressierbare WS2812 LED-Pixel benötige, schauen wir uns an, wie man einen ESP8266 mit WLED flashen kann. Das interessante hierbei ist, dass mittels WLED und NodeMCU diese Beleuchtung ins Netzwerk eingebunden werden und über eine Website oder diverse APP’s gesteuert werden kann.

Material und Software

Als Microcontroller verwende ich einen Arduino kompatiblen NodeMCU, als Software das super WLED-Projekt und als LEDs kommen WS2812b zum Einsatz.

Vielen Dank an dieser Stelle noch an Aircoookie und alle die zum Projekt beigetragen haben!

WLED-Project on Github

Bevor der NodeMCU mit dem Rechner verbunden wird, sollten die entsprechenden USB-Treiber installiert werden, im meinem Fall waren das die CH340G Treiber, für den USB-Serial Wandler.

Einfach bei Google nach den Treibern suchen, diese können von mehreren Seiten heruntergeladen werden.

Zum Flashen des Microcontrollers verwende ich “ESP-Home Flasher”, ein einfaches Tool um bereits kompilierte Binaries ohne viel Schnick-Schnack auf den Arduino zu flashen.

Releases · esphome/esphome-flasher (github.com)

Nun zurück zu WLED, hier brauchen wir die fertige Binary, welche hier heruntergeladen werden kann.

Releases · Aircoookie/WLED (github.com)

Ich habe die WLED_0.13.1_ESP8266.bin genommen, da diese für mein Board am besten passt.

Das eigentliche Flashen

Im ESP-Home Flasher jetzt nur noch den Port auswählen, in meinem Fall “COM7”, als Firmwaredatei die heruntergeladene WLED Binary angeben, und zu guter letzt noch “Flash ESP” anklicken.

Gegebenenfalls ist es noch notwendig, den NodeMCU oder bzw. den ESP-Microcontroller in den so genannten Flash-Modus zu versetzen. Dazu einfach USB abstecken und den mit “Flash” beschrifteten Button auf dem Board gedrückt zu halten, während USB wieder angesteckt wird.

Im Console Fenster kann nun der Flashvorgang beobachtet werden, sollte alles geklappt haben, und keine Fehlermeldungen aufgetaucht sein, startet der NodeMCU neu und WLED läuft.

Hardware

Nun Verbinden wir erstmal die LED’s mit dem Microcontroller. Ich habe für mein Projekt die WS2812b verwendet, da man hier jede LED einzeln ansteuern kann.

Die Verbindung kann in etwa so aussehen, ich habe jedoch die 5V Versorgung direkt von USB abgegriffen, da mir so in etwa 500mA (minus den Strom für den Microcontroller) zur Verfügung stehen.

ESP8266 WS2812b connection
ESP8266 WS2812b connection

Wichtig hierbei ist noch, dass die Richtung des LED-Streifens beachtet wird, da die LED’s sonst nicht funktionieren. Einfach auf die Beschriftung der Löt-Pads achten, “Din” ist der Eingang einer LED, “Dout” der Ausgang für nachfolgede LED’s. Auf den LED-Streifen ist auch meist ein Pfeil aufgedruckt, welcher die richtige Richtung andeutet.

WS2812B LED

WLED konfigurieren

Beim ersten Start erstellt WLED einen Access-Point, mit diesem kann man sich nun Verbinden, das Passwort lautet “wled1234”.

Im Anschluss wird man mit einem Startbildschirm begrüßt, in welchem man entweder eine WLAN-Verbindung zu einem bestehenden Netzwerk aufbauen, oder direkt mit der Bedienung von WLED loslegen kann.

Das sieht am Smartphone so aus.

WLED Access Point
WLED Access Point

Um sich direkt mit einem bestehenden WLAN zu Verbinden, winfach “WIFI SETTINGS” auswählen und anschließend den Netzwerk-Namen und das Passwort eintragen. Alle anderen Einstellungen können leer gelassen werden.

WLED WIFI Setup
WLED WIFI Setup

Nach Bestätigen mit “SAVE” werden die Daten gespeichert und der Microcontroller startet neu.

ESP8266 mit WLED flashen

Nachdem sich die IP-Adresse des Geräts natürlich ändert, muss man diese erst herausfinden. Dazu kann man z.B. Netzwerkscanner Tools verwenden, oder wie ich es gemacht habe, einfach auf das Webinterface des Routers (in meinem Fall eine AVM FritBox) gehen und das jeweilige Gerät suchen.

Weboberfläche Fritzbox
Weboberfläche Fritzbox

Nun ist es möglich, sich erneut mit WLED zu verbinden, dazu einfach im Browser als Adresse die zuvor gesuchte IP-Adresse eingeben und man sieht das WLED Interface.

WLED User Interface
WLED User Interface

Nun nehmen wir noch die benötigten Einstellungen vor, damit unsere WS2812b auch richtig angesteuert werden. Dazu unter “Config” und dann “LED Preferences” gehen.

Hier unter “Hardware Setup” nun den LED-Typ angeben, in meinem Fall “WS281x” und die Anzahl der LED’s eintragen. Sollte die eingestellte Farbe nicht mit der Farbe der LED’s übereinstimmen, kann hier unter “Color Order” noch die Reihenfolge angepasst werden, dass die Farben übereinstimmen.

WLED Settings LED
WLED Settings LED

Wenn die Anzahl der LED’s eingestellt ist, kann auch der maximale Strom begrenzt werden um das angeschlossene Netzteil nicht zu Überlasten.

ESP8266 mit WLED flashen
Strombegrenzung bei 2,5A

Jetzt ist WLED eingerichtet und es ist möglich auch diverse APP’s zu nutzen, um die LED’s zu steuern.

Meine konkrete Anwendung werde ich in den nächsten Beiträgen beschreiben.

© 2023 Things-I-Do

Theme von Anders NorénHoch ↑

WordPress Cookie Plugin von Real Cookie Banner