McLighting Tutorial – ESP8266 WS2812B LED Strip

LED Strips sind schon etwas tolles. Deswegen hier die Anleitung wie man mit dem Minirechner ESP8266 (in meinem Fall der WeMos D1 Mini) einen WS2812B LED Streifen steuern kann. Unten aufgelistet findet Ihr zum einen die verwendete Hardware und zum anderen die komplette Videoanleitung auf Youtube zum nachbauen inklusive der wichtigsten Befehle für Copy & Paste.

So schaut das Ganze dann am Ende aus wenn es installiert ist. Der ESP wählt sich über den integrierten WLAN Chip in das Heimnetzwerk ein und schon kann man per Tablet über das Webinterface alle möglichen Farben, Verläufe und einiges mehr einstellen.

esp8266 größe vergleich münze geld

Hardware:

wemos d2 mini esp8266McLighting Tutorial - ESP8266 WS2812B LED Strip

WeMos D1 Mini – ESP8266

McLighting Tutorial - ESP8266 WS2812B LED StripMcLighting Tutorial - ESP8266 WS2812B LED Strip
Jumper Wire Set

McLighting Tutorial - ESP8266 WS2812B LED StripMcLighting Tutorial - ESP8266 WS2812B LED Strip

Niedervoltbuchse

ws2812b led stripMcLighting Tutorial - ESP8266 WS2812B LED Strip

WS2812B LED Strip

McLighting Tutorial - ESP8266 WS2812B LED StripMcLighting Tutorial - ESP8266 WS2812B LED Strip

Netzteil

McLighting Installation Tutorial:

http://arduino.esp8266.com/stable/package_esp8266com_index.json

Package list:
https://github.com/toblum/McLighting/wiki/Software-installation

Wie man in der Videoanleitung sehen kann geht eine Steuerung über den Laptop, den PC oder auch das Tablet / Smartphone wunderbar.

Zusammenfassung
am
Objekt
McLighting Tutorial - ESP8266 WS2812B
Bewertung
51star1star1star1star1star

18 Kommentare zu „McLighting Tutorial – ESP8266 WS2812B LED Strip“

  1. sehr schönes Projekt, bei mir klappt alles, bis auf das die LEDs nicht leuchten ^^ bzw. nur wenn ich das Steuersignal berühre. Habe das selbe mit nem Arduino nano probiert und nur mal die WS2812FX Bibliothek getestet, da flackerte es auch nur komisch. So als ob das Datensignal gar nicht richtig übermittelt wird. Bei anderen Controllern funktioniert der LED ohne Probleme.

    1. Die Steckverbindung des ESP ist teilweise sehr sehr locker! Wenn man dort drankommt ist ruck zuck die Stromversorgung weg und er startet neu aufgrund eines Wackelkontakts. Am besten steckt man die Pins nicht einfach so rein sondern befestigt diese anderweitig.

  2. Nachtrag, Fehler gefunden und vielleicht ist es anderen eine Hilfe:
    1. Eingangsrichtung beim LED Streifen beachten! Ja war schon spät als ich das alles gemacht habe 😉
    2. PIN 5 im Code ist beim NodeMCU z.B. der Pin D1!

    1. Zum Glück ist auf den LED Streifen die Richtung anhand von Pfeilen zu erkennen und der Ausrichtung der Schrift (VCC, GND, ..)
      Wenn man andere Pins benutzt muss man dann schauen welche es genau sind. Habe alle drei nebeneinander gewählt weil es am einfachsten war.

  3. Super Projekt….

    Wenn du einmal die Wifi Einstellungen vorgenommen hast und diese falsch sind dann hilft auch kein neu Flashen. Außer du aktivierst das überschreiben der wifi Settings.
    Eine Feste IP hilft auch …. Zumindest finde ich 🙂

    #define WIFIMGR_SET_MANUAL_IP

    #ifdef WIFIMGR_SET_MANUAL_IP
    uint8_t _ip[4] = {192,168,0,111};

    Ich habe jedoch noch ein Problem.

    Wenn ich den Nanopixel (Ws2812) mit Strom beaufschlage ( 5V 12A) dann schmiert mir der D1 mini ab. Wie hast du das gelöst.

    1. Bei mir hat die Fritzbox den beiden ESP’s immer die gleiche IP zugewiesen. Somit hatte ich damit keine Probleme.
      Habe folgendes Netzteil: https://amzn.to/2s5zGJR
      5V 3A für den WS2812B und den ESP gleichzeitig

      1. Das Netzteil hat sogar 5,25V das ist nicht so gut.
        Mir reichen leider die 3A bei 6 Meter *60 LED´s Nanopixel (ws2812).
        360 Led´s brauchen ein wenig mehr.

        Ich denke das Problem liegt irgendwo beim D1.
        Per USB Stromversorgung funktioniert alles.
        Leider sind dann die LED´s nicht so hell.

  4. Vielen Dank für das Tutorial. Bei mir ergibt sich folgendes Problem:
    Ich habe den LED-Strip geteilt und die 4 Teile mit Litzen verbunden. Es fällt mir speziell bei Einstellung der Farbe „weiß“ extrem auf, dass 2 Teile kaltweiß leuchten und die beiden anderen warmweiß. Liegt das am „Löten“ oder möglichweise an einer anderen Einstellung? Bei den anderen Farben habe ich den Eindruck, dass keine Farbunterschiede bestehen.
    Hat du eine Einschätzung woran es liegen könnte?

    1. Normalerweise ist es überall die selbe Farbe wenn man zum Beispiel ein statisches Weiß einstellt.
      Bei anderen LED Strips habe ich erlebt, dass zwischendurch einige Farbpixel eine komplett andere Farbe hatten. Auf Rot eingestellt und überall war der LED Strip auch Rot bis auf zwei Dioden wo grün waren. Nach ein wenig wackeln und bewegen des LED Strips haben diese dann wieder die normale Farbe angenommen.
      Wenn nur wenige Farbpixel nicht passen könnte es ein Problem des LED Strips direkt an dieser Stelle sein. Wenn es wirklich flächenweise ist, könnte es sein dass ein Kontakt nicht richtig verbunden ist und dieser allen darauffolgenden Farbpixeln eine falsche Farbe zuweist. Kann man so aber schlecht sagen. Im Zweifelsfall einfach mal einen anderen LED Streifen dranklemmen und dann auf die Unterschiede schauen.

    2. Wenn der Streifen zum Ende hin von den Farben wärmer wird, ist der Spannungsabfall am Stripe zu hoch und er sollte zusätzlich nochmal von „hinten“ mit Strom versorgt werden.

  5. Bei mir kommen ständig fehlermeldungen das irgend was nicht passt

    z.b.

    C:\Users\Amin\Documents\Arduino\libraries\WS2812FX\src\WS2812FX.cpp: In member function ‚void WS2812FX::setPixelColor(uint16_t, uint32_t)‘:

    C:\Users\Amin\Documents\Arduino\libraries\WS2812FX\src\WS2812FX.cpp:99:49: error: ‚gamma8‘ was not declared in this scope

    Adafruit_NeoPixel::setPixelColor(n, gamma8(r), gamma8(g), gamma8(b), gamma8(w));

    ^

    C:\Users\Amin\Documents\Arduino\libraries\WS2812FX\src\WS2812FX.cpp: In member function ‚void WS2812FX::setPixelColor(uint16_t, uint8_t, uint8_t, uint8_t)‘:

    C:\Users\Amin\Documents\Arduino\libraries\WS2812FX\src\WS2812FX.cpp:107:49: error: ‚gamma8‘ was not declared in this scope

    Adafruit_NeoPixel::setPixelColor(n, gamma8(r), gamma8(g), gamma8(b));

    ^

    C:\Users\Amin\Documents\Arduino\libraries\WS2812FX\src\WS2812FX.cpp: In member function ‚void WS2812FX::setPixelColor(uint16_t, uint8_t, uint8_t, uint8_t, uint8_t)‘:

    C:\Users\Amin\Documents\Arduino\libraries\WS2812FX\src\WS2812FX.cpp:115:49: error: ‚gamma8‘ was not declared in this scope

    Adafruit_NeoPixel::setPixelColor(n, gamma8(r), gamma8(g), gamma8(b), gamma8(w));

    ^

    C:\Users\Amin\Documents\Arduino\libraries\WS2812FX\src\WS2812FX.cpp: In member function ‚uint16_t WS2812FX::mode_running_lights()‘:

    C:\Users\Amin\Documents\Arduino\libraries\WS2812FX\src\WS2812FX.cpp:853:78: error: ’sine8′ was not declared in this scope

    int lum = (int)sine8(((i + SEGMENT_RUNTIME.counter_mode_step) * sineIncr));

    ^

    exit status 1
    Fehler beim Kompilieren für das Board NodeMCU 1.0 (ESP-12E Module).

  6. Hallo,
    hab da ein problem mit der Version 2.2.3!
    Das mit den LED´s klappt ABER nachdem ich jetzt mal die LED-Kette gezählt habe (57) und den Geburtswert von 24 ändern wollte auf 57 LED´s werden immer nur die 24 LED´s angesteuert. Es kann nicht geändert werden, bzw. es hat keine Auswirkung. Hab die Version 2.2.3 nochmal runter geladen und neu hochgespielt aber ohne Wirkung. Die anzahl der ansteuerbaren LED´s kann ich nicht ändern. Gibt es eine ältere Version zum testen.
    Bitte um Hilfe

    Gruß Ralf

    1. Und wenn man den Wert mal auf 80, 100 oder sogar 150 ändert?
      Lädt er es auch tatsächlich neu hoch? Vielleicht mal einen zweiten ESP testen.
      Gibt es eventuell ein Problem mit der Verbindung vom LED Streifen?

  7. Hab es jetzt wieder mit der 2.2.3 versucht und immer 24 LED´s! Wenn ich es mit der 2.2.0 versuche dann nimmt er die 57 LED´s.
    Katastrophe!

    1. Nimm doch einfach mal exakt die Versionen aus dem Video (welche ich auch genommen habe). Dann sollte es doch wunderbar funktionieren.

      1. Das ist ja das Problem, wenn man dem Pfad folgt dann kommt man auf den Link https://github.com/toblum/McLightin
        Da steht die Version 2.2.3 zur Verfühgung. Die ist leider Ver-Bugt.
        Die 2.2.0 ist i.O., aber wenn man das nicht weiss dan sucht man sich ein Wolf.

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.