Eigenbau-LED-Controller mit WLED

Mit WLED lassen sich RGB-LED-Streifen per Browser und App steuern - ganz ohne Cloud. Das ESP32-Projekt eignet sich für Microcontroller-Einsteiger.

In Pocket speichern vorlesen Druckansicht 5 Kommentare lesen

Empfohlener redaktioneller Inhalt

Mit Ihrer Zustimmmung wird hier ein externes YouTube-Video (Google Ireland Limited) geladen.

Ich bin damit einverstanden, dass mir externe Inhalte angezeigt werden. Damit können personenbezogene Daten an Drittplattformen (Google Ireland Limited) übermittelt werden. Mehr dazu in unserer Datenschutzerklärung.

Lesezeit: 15 Min.
Von
  • Johannes Börnsen

"LED unterm Bett, LED unterm Schrank, LED unterm Sofa, leider geil" - heißt es bei Deichkind. Wer sich dafür nicht auf die Hersteller-Cloud verlassen will, baut sich den nötigen Controller einfach selbst. Zum Einsatz kommt WLED, das einfach aus dem Browser heraus auf einem ESP32 oder ESP8266 installiert werden kann und sich per Weboberfläche oder App steuern lässt. Make-Redakteur Johannes Börnsen zeigt im Video sowohl das Flashen der Software als auch die Verkabelung der Hardware.

Zum Einsatz kommen dabei WS2812-RGB-LED-Streifen. Da in jede einzelne LED ein kleiner Mikrocontroller eingebaut ist, können diese einzeln angesprochen und Farbton und Helligkeit separat geregelt werden. Das WLED-Projekt bringt jede Menge vorinstallierte Effekte mit.

Wer das Projekt nachbauen möchte, findet die Links zu den im Video verwendeten Komponenten in der Youtube-Videobeschreibung.

=== Anzeige / Sponsorenhinweis ===
Du bist ein(e) Maker(in) und zwischen 15 und 25 Jahren alt? Jetzt beim PAUL Award mitmachen und 3.000 Euro gewinnen! Reich dein Raspberry Pi- oder Arduino-Projekt ein. Alles Infos unter www.paul-award.de
=== Anzeige / Sponsorenhinweis Ende ===

Transkript des Videos

(Hinweis: Es handelt sich hier um einen Bonusinhalt für Menschen, die das Video oben nicht schauen können oder wollen. Die Informationen auf der Bildspur gibt das Transkript nicht wieder.)

Schaut mal, das hier ist ein LED-Streifen mit einzelnen adressierbaren LEDs. Jede LED kann also eine andere Farbe haben. Das Ganze wird komplett ohne Cloud angesteuert, mit einem ESP32 oder dem ESP8266. Wenn ihr nicht wisst, was das ist, kein Problem, ich erkläre euch das Ganze. Es ist nämlich ein perfektes Mikrocontroller-Einsteigerprojekt. Viel Spaß!

Wir schauen uns zunächst den LED-Streifen an und wie es funktioniert, dass wir jede LED einzeln ansprechen können. Das hier ist ein normaler RGB-LED-Streifen, das heißt, in jedem dieser LED-Gehäuse sitzt eine rote, eine grüne und eine blaue LED, und hier vorne gibt es dann die passenden Kontakte dazu. Wenn ich also nur diesen Kontakt anlege, habe ich grünes Licht, hier habe ich rotes Licht, hier habe ich blaues Licht, aber eben für alle LEDs im ganzen Streifen auf einmal.

Bei einem LED-Streifen mit einzelnen adressierbaren LEDs haben wir ganz genau hier auch die RGB-LEDs, aber hier vorne haben wir einmal Masse und einmal die Stromversorgung mit 5 Volt, und der mittlere PIN ist ein Datenport. Die Pfeilrichtung gibt an, an welcher Seite wir diesen LED-Streifen versorgen müssen. Das heißt, wir schließen unsere Datenleitung hier an. Wenn wir dann zum Beispiel einen LED-Streifen mit 7 LEDs haben, würden wir hier vorne ein Datenpaket mit 7-mal RGB-Informationen reinschicken. Die erste LED hat einen kleinen Chip und nimmt sich das erste Datenpaket und stellt den Farbton entsprechend dar. Die restlichen Daten schickt sie einfach weiter, und diese LED nimmt wieder das erste Datenpaket, stellt sich auf die entsprechende Farbe ein und schickt es weiter. So geht das den ganzen Streifen durch.

Das bedeutet, dass wir für diese LED-Streifen ein Datenpaket benötigen, das siebenmal RGB-Informationen enthält. In unseren fünf Meter langen LED-Streifen mit insgesamt 200 LEDs schicken wir ein entsprechend großes Datenpaket rein. Jede LED nimmt sich die für sie gehörige Information und schickt die anderen einfach weiter. Solche LED-Streifen mit einzelnen adressierbaren LEDs heißen in der Regel WS2812, B oder Eco - es gibt verschiedene Versionen, aber ich verlinke euch genau diesen hier in der Videobeschreibung.
Jetzt haben wir schon an den Kontakten gesehen, dass wir zwei Sachen brauchen: erstens eine Datenleitung und zweitens eine Stromversorgung. Die Datenleitung generieren wir mit einem ESP32 oder einem ESP8266. Im Grunde ist es egal, was ihr davon nehmt. Der ESP32 ist etwas leistungsfähiger, und man kann das Ganze auch noch mit einem Mikrofon verbinden und dann so eine Art Lichtorgel machen.

Wenn ihr einfach nur Effekte einstellen wollt über den Browser oder mit einer Smartphone-App, dann reicht ein ESP8266 aus. Den ESP8266 verlinke ich euch unten in der Videobeschreibung. Beide Mikrocontroller-Boards haben Ein- und Ausgänge, mit einem solchen Ausgang können wir die LEDs versorgen und eine USB-Schnittstelle, über die wir einfach eine Firmware, eine Software, oder ein Programm darauf spielen können. Das Coole ist, dass sowohl der ESP32 als auch der ESP8266 WLAN haben, d.h. sie können sich einfach in unser WLAN zu Hause einwählen, und wir können dann entweder über eine App oder über einen Browser auf diese Mikrocontroller-Boards zugreifen und unsere LEDs einstellen. So sehen diese Boards im Detail aus. Das ist jetzt ein ESP32. Der ESP8266 sieht ein wenig anders aus, funktioniert aber im Grunde genauso. Auf der einen Seite sieht man die USB-Buchse, darüber können wir programmieren und mit Strom versorgen. Und auf der Unterseite befinden sich die Ein- und Ausgänge, während auf der Oberseite beschriftet ist, welcher Pin welcher Ein- bzw. Ausgang ist.

Bei diesem ESP32 sind die Pins bereits verlötet, während man sie bei dem ESP8266, den ich euch in der Videobeschreibung verlinke, noch selbst verlöten muss. Das geht am einfachsten, indem man die Pins in ein Breadboard steckt, wo sie dann fixiert sind. Falls man kein Breadboard zur Hand hat, kann man auch Knete oder ähnliches verwenden. Man legt den ESP8266 dann einfach auf die Pins und sorgt mit einem kleinen Lötklecks dafür, dass der Ring des Lochs und der Pin gut miteinander verbunden sind. Theoretisch könnte man die Kabel der LED-Streifen auch direkt an den ESP32 löten, aber dann ist es nicht mehr so flexibel, wenn man ihn später noch für etwas anderes verwenden möchte.
Bevor wir die LEDs jedoch tatsächlich mit unserem Mikrocontroller verbinden, spielen wir erst einmal die Firmware auf. In diesem Fall verwenden wir WLED. WLED gibt's schon länger, es ist das Open-Source und kostenlos ist und hat ziemlich große Community, die WLED für verschiedene Anwendungen nutzt. Wenn man irgendwo nicht weiterkommt, ist die Wahrscheinlichkeit hoch, dass man über Google eine Lösung findet. Mit WLED kann man quasi eine Webseite bauen, die man über das Netzwerk erreichen und auf der man einstellen kann, wie die LEDs leuchten sollen. Es gibt Hunderte von Effekten, die man alle feintunen kann, und es gibt auch eine eigene App für WLED. Wenn man sie auf seinem Smartphone installiert, kann man die LED-Streifen auch über das Handy steuern.

Das Schöne an WLED ist, dass es super einfach zu installieren ist. Wir brauchen keine Entwicklungsumgebung, keine Programmiersprachen, nichts davon. Wir brauchen nur einen Browser. Ihr schließt einfach euren Mikrocontroller per USB an euren Computer an und geht dann im Browser auf die Website install.wled.me. Dort findet ihr eine kurze Anleitung und könnt einfach auf "Installieren" klicken und den passenden USB-Port auswählen. Wenn ihr nicht wisst, welcher das ist, könnt ihr sie einfach der Reihe nach ausprobieren. Es kann dabei nichts kaputt gehen. Bei mir ist das jetzt dieser hier und ich klicke auf "Verbinden".
Danach klickt ihr euch einfach durch und nach ungefähr einer Minute ist WLED auf eurem ESP installiert. Es wird dann "Installation vollständig" angezeigt. Anschließend gebt ihr noch den Namen eures WLANs und das passende Passwort ein und klickt auf "Connect". Das speichert jetzt auf dem ESP und dann gibt es ein Reboot des Geräts.
Wenn das Gerät wieder online ist, öffnet sich ein neuer Tab im Browser und ihr seht oben die IP-Adresse, mit der sich der ESP in eurem Netzwerk angemeldet hat. Es öffnet sich die WLED-Oberfläche. Klickt jetzt oben einmal auf "Config" und geht in die LED-Einstellungen. Auf dieser Seite sehen wir oben voreingestellt, dass lediglich 30 LEDs angeschlossen sind. Wahrscheinlich werdet ihr aber mehr anschließen wollen und das könnt ihr hier unten umstellen.

Ich habe an meinem Streifen 5m x 60 LEDs, also insgesamt 300 LEDs. Oben gibt es eine Hochrechnung, wie leistungsstark das Netzteil sein muss, um diese Anzahl von LEDs zu versorgen. Es gibt zwei verschiedene Möglichkeiten: Entweder ihr schließt den LED-Streifen mit seiner Stromversorgung und der Erdung direkt an den ESP an. Aber Vorsicht: Der ESP kann nicht so viel Strom liefern, und ihr solltet auf keinen Fall mehr als ein Ampere rausziehen, da sonst der ESP kaputtgehen könnte. Das begrenzt dann die Anzahl der LEDs. Wenn ihr nur, sagen wir, 60 LEDs betreiben wollt und diese nicht so wahnsinnig hell sein müssen, könnt ihr das tun, indem ihr unten einfach angebt, dass ihr nur 60 LEDs habt und euren Streifen entsprechend kürzt. Der Rechner zeigt immer noch an, dass wir eigentlich ein 3,5-Ampere-Netzteil benötigen würden, aber unten gibt es einen Helligkeitsbegrenzer, mit dem wir einstellen können, dass wir maximal 850 Milliampere, also 0,85 Ampere, aus dem ESP ziehen möchten. Dann passt WLED einfach die Helligkeit des ganzen Streifens an, damit wir nicht über dieses eine Ampere kommen. Das ist natürlich ein bisschen schade, weil der Streifen, den ich habe, 5m lang ist, und ich ihn gerne ganz benutzen würde. Deshalb stelle ich das jetzt hier auf die vollen 300 LEDs ein, und für die Stromversorgung benutze ich statt des direkten Anschlusses am ESP ein zusätzliches Netzteil.

Dafür benutze ich dieses Netzteil, das ich euch unten in der Videobeschreibung verlinke. Es stellt, wie man hier sehen kann, acht Ampere bei 5 Volt zur Verfügung. Ich kann den Limiter hier noch einmal verändern, aber ich gebe nicht die vollen 8000 Milliampere ein, sondern nur 6000 Milliampere. Das sorgt dafür, dass das Netzteil nicht dauerhaft am Leistungslimit läuft und erhöht die Lebensdauer. Jetzt können wir das Ganze verkabeln. In der Verpackung des LED-Streifens ist ein Adapterkabel enthalten, das genau an das Ende des Streifens passt, an dem ihr Daten und Strom einspeisen müsst. Den kann man einfach draufstecken, aber ich nehme ihn jetzt noch einmal auseinander, damit ihr besser sehen könnt, wie es funktioniert. Die einzelnen Adern sind miteinander verbunden, aber man kann sie voneinander trennen, um leichter arbeiten zu können. Es gibt drei offene Enden: Rot, Grün und Weiß. Weiß ist die Erdung, Rot die Stromversorgung mit 5 Volt und Grün ist unsere Datenleitung. Bei dem Netzteil sind die Farben ein wenig anders. Rot ist für Plus, genau wie bei dem Adapter, aber Minus oder Ground ist hier Schwarz und nicht Weiß. Das spielt aber keine Rolle. Ich isoliere jetzt an den Enden der Kabel noch ein kleines Stückchen weiter ab, indem ich eine Abisolierzange verwende. Man kann das aber auch vorsichtig mit einem Messer machen.

Dann verdrille ich die Enden der Kabel einfach mit den Fingern. Es muss auch nicht unbedingt so viel abisoliert werden, wie ich es jetzt hier gemacht habe. Ich bin auch kein großer Löter, aber ihr solltet darauf achten, dass das Lötzinn sich sauber um die offenen Kabelenden legt. Bonuspunkte gibt es, wenn man vor dem Löten noch ein Stück Schrumpfschlauch auf das Kabel auffädelt. Dann kann man den Schrumpfschlauch einfach drüber schieben und mit dem Lötkolben oder Feuerzeug zusammenschrumpfen. Der Schrumpfschlauch schützt das Kabel und verhindert, dass die Kontakte sich gegenseitig berühren. Für die Datenleitung des Adapters, das grüne Kabel, verwende ich jetzt ein Steckerkabel. Das lässt sich einfach in die Löcher des Breadboards stecken und das andere Ende schneide ich ab.

Ich isoliere es ab und verlöte es mit dem grünen Kabel des Adapters. Auch hier kommt ein bisschen Schrumpfschlauch darüber, und so sieht das Ganze jetzt aus: Das Kabel, das vom Netzteil kommt, ist auf Rot gelötet. Das Kabel, das die Masse vom Netzteil führt, ist auf Weiß gelötet. Und dann das grüne Kabel des Adapters ist hier mit dem Stecker fürs Breadboard verbunden. Wenn ihr jetzt euren LED-Streifen nehmt, seht ihr, dass an dem Kabel, das in den LED-Streifen reingeht, nicht nur dieser Stecker angeschlossen ist, sondern noch zwei weitere Kabel. Ein rotes und ein weißes für die Masse. Das Rote können wir ignorieren, da wir unsere Stromversorgung hier schon über das rote Kabel haben. Aber das Weiße brauchen wir, weil der ESP und der LED-Streifen eine gemeinsame Masse benötigen. Deshalb löten wir einfach an dieses weiße Ende des LED-Streifens auch so ein Breadboard Steckkabel. Ein Ende wird einfach abgeschnitten, abisoliert, Schrumpfschlauch nicht vergessen und dann zusammenlöten. An das andere Ende vom Netzteil kommt einfach ein 230 Volt Stecker. Wenn ihr nicht wisst, wie das geht, verlinke ich euch mal unser Elektroheft in der Videobeschreibung, da haben wir das ausführlich erklärt. So, und jetzt können wir den LED-Streifen an den ESP anschließen. Dazu verbinde ich jetzt den an das Netzteil angeschlossenen Adapter mit dem Ende des LED-Streifens. Das wird einfach ineinander gesteckt.

Den ESP32 steckt ihr einfach an einer beliebigen Stelle in das Board und dann findet ihr einen Anschluss, der mit G geschrieben ist. Da steht für Ground, da muss das weiße Kabel, was aus dem LED-Streifen kommt, rein. Und hier bei D4 muss das grüne Kabel aus dem LED-Streifen rein. Und wenn wir jetzt das Netzteil in die Steckdose stecken und unseren ESP32 mit Strom über USB versorgen, dann leuchtet unser Lichtstreifen. Und der macht das erstmal in Orange, weil das die Standardfarbe von WLED ist, die erstmal eingestellt ist direkt nach dem Start. Und wenn ihr alles richtig gemacht habt, dann findet ihr in diesem Bereich eine ganz lange Liste mit ganz vielen Effekten, die teilweise ein bisschen albern sind und teilweise ganz cool sind. Und in der linken Hälfte, hier in diesem Bereich, da findet ihr dann die Einstellungen für den jeweiligen Effekt. Da könnt ihr zum Beispiel andere Farbprofile auswählen oder einzelne Farbräume, Vordergrund und Hintergrundfarbe anpassen, lauter solche Sachen. Und hier unten gibt es noch ein Geschwindigkeitsregler und einen Fader. Man kann die Streifen auch in Segmente aufteilen, die sich dann identisch verhalten. Man kann mehrere Installationen synchronisieren, man kann Presets abspeichern und so weiter. Wenn ihr Projekte umsetzt, in denen WLED zum Einsatz kommt, dann freue ich mich, wenn ihr mir eine Mail schreibt, das in die Kommentare schreibt oder mich auf Instagram verlinkt, sofern ihr das da postet. Ich wünsche euch jetzt viel Spaß beim Löten, viel Spaß mit WLED und wir sehen uns im nächsten Video wieder. Ciao.

(jom)