McLighting zum Steuern von LED Strips

Hier die Anleitung / Tutorial wie man mit dem Minirechner ESP8266 (in meinem Fall der WeMos D1 Mini) einen WS2812B LED Streifen durch McLighting steuern kann.

Was ist McLighting?

McLighting ist eine Software, bei der über ein Webinterface die Farbe der LED Streifen eingestellt werden kann. Per PC, Laptop, Tablet, Smartphone, und alle anderen Geräte mit einem Browser kann darauf zugegriffen werden.

Der ESP8266 ist ein Mikrorechner, der alle Funktionen eines richtigen PC’s beinhaltet. Er hat ein Betriebssystem, kann Software ausführen und sich per WLAN einwählen. Dabei ist er lediglich so groß wie eine Euro Münze.

McLighting Tutorial
McLighting Tutorial

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.

Demonstration der Steuerung über das Tablet

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. Eine direkte App gibt es meines Wissens nach nicht. Ein Internet Browser bringt aber jedes Endgerät mit. Über Smartphones, Tablets, Laptops, PC’s, usw. könnt ihr problemlos die LED Strips steuern.

McLighting WS2812B ESP8266 Tablet Steuerung
Dieses Video ansehen auf YouTube.

Hardware

Hier die verwendete Hardware, um das Projekt umzusetzen.

ESP8266 / WeMos D1 Mini

ESP8266 im Größenvergleich zur 50 Cent Münze
ESP8266 im Größenvergleich zur 50 Cent Münze

Fall das Produkt mal nicht verfügbar sein sollte, hier die Auflistung: https://amzn.to/2RFC89n

Wichtig ist, dass WLAN unterstützt wird.

AZDelivery D1 Mini V3 NodeMCU ESP8266EX WLAN Modul kompatibel mit Arduino inklusive E-Book!
AZDelivery D1 Mini V3 NodeMCU ESP8266EX WLAN Modul kompatibel mit Arduino inklusive E-Book!
von AZDelivery
  • ✔️ Das ESP8266EX D1 Mini Modul ist ein WLAN Development Board mit CH340C Chip und Mikro USB-Anschluss.
  • ✔️ Dieses Development Board verfügt über 11 digitale Eingangs- / Ausgangspins und alle Pins (außer D0) haben Interrupt / PWM / I2C / 1-Draht.
  • ✔️ Mit Abmessungen von 34 x 26 x 8 mm ist unser D1 Mini ESP8266EX kompakt und bietet Ihnen 4 MB Flash-Speicher für alle Ihre Projekte.
  • ✔️ Es ist kompatibel mit Arduino, MicroPython und NodeMCU.
  • ✔️ Willkommen in der AZDelivery-Familie! Hier finden Sie qualitativ hochwertige Produkte für Ihre Projekte mit Arduino und Raspberry Pi. Wir freuen uns, Ihnen eine Reihe von Anwendungsbeispielen, komplette Installationsanleitungen, E-Books, Bibliotheken und persönliche Unterstützung anbieten zu können.⭐️⭐️⭐️⭐️⭐️ AZ-Delivery: Ihr Mikroelektronik-Experte!
Prime Preis: € 6,49 Auf Amazon ansehen
Preis inkl. MwSt., zzgl. Versandkosten

Jumper wires

Elegoo Jumper Wire 40x 20cm Female-Female, Male-Female, Male-Male Kabel Steckbrücken 28AWG Drahtbrücken für Arduino Raspberry Pi (3er Set)
Elegoo Jumper Wire 40x 20cm Female-Female, Male-Female, Male-Male Kabel Steckbrücken 28AWG Drahtbrücken für Arduino Raspberry Pi (3er Set)
von ELEGOO
  • √ Kabellänge: 20cm; RM 2,54mm Pitch. Je ein Kabelbündel besteht aus 40 Einzeladern, die auch getrennt werden können.
  • √ Mit diesen Jumper Kabeln können Sie schnell und einfach den Raspberry Pi oder andere Geräte mit Steckbretten / Breadboards oder anderen Modulen verbinden.
  • √ Lieferumfang: 1x40 Female - Female; 1x40 Male - Female; 1x40 Male - Male Steckbrücken.
  • √ Dieses Jumper Kabel Set für Arduino / Raspberry ist verpackt in einem kleinen Karton.
  • √ Wir sind stets bemüht die Funktion unserer Produkte zu verbessern, bei Frage bitte per Email an: euservice@elegoo.com
Prime Preis: € 6,99 Auf Amazon ansehen
Preis inkl. MwSt., zzgl. Versandkosten

Niedervoltbuchse (DC Adapter 2,1mm)

Delock Adapter DC 5,5 x 2, 1 mm Buchse > Terminalblock 2 Pin
Delock Adapter DC 5,5 x 2, 1 mm Buchse > Terminalblock 2 Pin
von Delock
  • Anschlüsse: 1 x DC 5,5 x 2, 1 mm Buchse 1 x 2 Pin Terminalblock
  • Pluspol innen, Minuspol außen
  • Rastermaß: 5,5 mm
  • Packungsinhalt: Adapter
 Preis: € 3,99 Auf Amazon ansehen
Preis inkl. MwSt., zzgl. Versandkosten

5 Meter WS2812B LED Strip mit 300 LEDs

Nehmt die Variante mit 300 LEDs statt 150. Die Leuchtkraft ist deutlich besser.

Nicht wasserdicht:

CHINLY 5m 300leds WS2812B Individuell adressierbar LED Streifen Licht SMD5050 RGB 300 Pixels Traumfarbe Nicht wasserdicht Schwarz PCB 5V DC
CHINLY 5m 300leds WS2812B Individuell adressierbar LED Streifen Licht SMD5050 RGB 300 Pixels Traumfarbe Nicht wasserdicht Schwarz PCB 5V DC
von CHINLY
  • Länge: 5 Meter, LED SMD Menge: 300 Stück RGB SMD5050 pro Meter, Nicht wasserdicht IP63, Schwarz PCB, DC5V
  • Vollfarb-programmierbare programmierbare LED-Leiste, WS2811 IC Erbaut in 5050SMD, 256 Helligkeitsanzeige und 24-Bit-Farbanzeige. Jedes Pixel kann seine eigene Farbe und Helligkeit haben.
  • Sie können sie einzeln steuern und sie auf jede gewünschte Farbe oder Animation einstellen. Arbeiten Sie großartig mit Arduino, Ready-to-Go-Bibliothek, FastLED-Bibliothek und Raspberry Pi, usw. Es ist sehr einfach zu programmieren.
  • Es wird mit 3-poligen JST-SM-Anschlüssen und getrennten Strom- / Erdungskabeln an beiden Enden geliefert. Jede LED kann abgeschnitten werden, ohne den Reststreifen zu beschädigen. Sie können es frei kürzen, verlängern oder biegen, wenn Sie möchten.
  • Es kann verwendet werden, um LED-Bildschirm, LED-Wand, Werbetafel und weit verbreitet im Hotel, KTV, Bars, Outdoor-Werbeschilder, Weihnachten oder Hochzeit Dekoration, und so weiter zu machen.
Prime Preis: € 30,99 Auf Amazon ansehen
Preis inkl. MwSt., zzgl. Versandkosten

Wasserdicht:

CHINLY 5m WS2812B Individuell adressierbar LED Streifen Licht SMD5050 RGB 300 Pixels Traumfarbe Wasserdicht IP67 Schwarz PCB 5V DC
CHINLY 5m WS2812B Individuell adressierbar LED Streifen Licht SMD5050 RGB 300 Pixels Traumfarbe Wasserdicht IP67 Schwarz PCB 5V DC
von CHINLY
  • Länge: 5 Meter, LED SMD Menge: 300 Stück RGB SMD5050 pro Meter, Tube-wasserdicht IP67, Schwarz PCB, DC5V
  • Vollfarb-programmierbare programmierbare LED-Leiste, WS2811 IC Erbaut in 5050SMD, 256 Helligkeitsanzeige und 24-Bit-Farbanzeige. Jedes Pixel kann seine eigene Farbe und Helligkeit haben.
  • Sie können sie einzeln steuern und sie auf jede gewünschte Farbe oder Animation einstellen. Arbeiten Sie großartig mit Arduino, Ready-to-Go-Bibliothek, FastLED-Bibliothek und Raspberry Pi, usw. Es ist sehr einfach zu programmieren.
  • Es wird mit 3-poligen JST-SM-Anschlüssen und getrennten Strom- / Erdungskabeln an beiden Enden geliefert. Jede LED kann abgeschnitten werden, ohne den Reststreifen zu beschädigen. Sie können es frei kürzen, verlängern oder biegen, wenn Sie möchten.
  • Es kann verwendet werden, um LED-Bildschirm, LED-Wand, Werbetafel und weit verbreitet im Hotel, KTV, Bars, Outdoor-Werbeschilder, Weihnachten oder Hochzeit Dekoration, und so weiter zu machen.
Prime Preis: € 32,99 Auf Amazon ansehen
Preis inkl. MwSt., zzgl. Versandkosten

5V 3A Netzteil

LEICKE Netzteil 5V 3A | Ladegerät 15W für Externe DVD/Blu Ray Laufwerke - Festplatten | Akku, Ladestationen, Smart-Geräte
LEICKE Netzteil 5V 3A | Ladegerät 15W für Externe DVD/Blu Ray Laufwerke - Festplatten | Akku, Ladestationen, Smart-Geräte
von LEICKE
  • Ausgang: 5V/ 3A, 15W Ausgangsleistung
  • Steckerdurchmesser außen/innen : 5,5*2,5mm Stecker-Polarität: Außen - (Minus); Innen + (Plus)
  • Ideal geeignet als Ersatz für Netzteile von Wlan-Routern, LCD-TV's, externen Festplatten, Hub, Switch, Router, Kamera Switch Ladegerät, Weltempfänger, CD-Player Externe DVD/Blu Ray Laufwerke, Akku, Ladestationen Externe DVD/Blu Ray Laufwerke
  • Ausgestattet mit Überspannungs-, Kurzschluss- und Temperaturschutz LEICKE ULL-Technologie: Alle LEICKE Eco-Netzteile sind mit der LEICKE Ultra-Long-Life-Technologie (ULL) ausgestattet LEICKE SolidPower II (SP2): Auch bei Spannungsänderungen zwischen 100 V und 240 V garantiert Ihnen die LEICKE SolidPower-Technologie eine konstante Ausgangsspannung
  • Lieferumfang: LEICKE Netzteil, Netzkabel 1,20m mit Eurostecker, praktischer Transportbeutel
Prime Preis: € 9,86 Auf Amazon ansehen
Preis inkl. MwSt., zzgl. Versandkosten

Videoanleitung zur Installation

Komplette Videoanleitung zu der Installation, Verkabelung und der Benutzung des Systems.

McLighting Tutorial - WS2812B LED Strip ESP8266 MC LIGHTING
Dieses Video ansehen auf YouTube.

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

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

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

Verkabelung

Schaut auf dem LED Strip wie die Adern beschriftet sind. Am ESP sind ebenfalls die Beschriftungen zum Anschluss.

VCC = 5V

GND

DATA = D4

Demonstration der Farbeinstellungen

Statische Farben, Durchläufe & Animationen.

McLighting Demonstration
Dieses Video ansehen auf YouTube.

Was kann das Webinterface alles?

Nachtrag: Ich wollte meinen ESP mit McLighting starten, aber kam nicht mehr auf die IP Adresse drauf. Vor einer Weile habe ich einen Access Point ersetzt und das war das Problem. In der Konfiguration des ESPs wird exakt ein WLAN Netzwerk eingestellt. Wenn das nicht mehr existiert, kann sich der ESP auch nicht mehr mit dem Heimnetz verbinden. Fazit: Den alten Access Point wieder aus dem Schrank geholt. Alternativ kann natürlich auch der ESP neu beschrieben werden, um das Netzwerk einzustellen.

Herausfinden der IP Adresse

Um die IP Adresse des ESPs herauszufinden, einfach in der Fritzbox anmelden und unter Heimnetz -> Netzwerk die IP Adresse auslesen.

Fritzbox -> Heimnetz -> Netzwerk
Fritzbox -> Heimnetz -> Netzwerk

McLighting öffnen

Auf der Startseite ist das Farbrad ersichtlich. Mit einem Klick auf eine Farbe innerhalb des Rades, wird über den ESP am WS2812B LED Streifen automatisch die Farbe eingestellt.

McLighting Webinterface
McLighting Webinterface

Mit einem Klick auf „Modes“ oben rechts in der Navigation kann die Farbe zudem per Rot / Grün / Blau Regler eingestellt werden. Zudem ist die Helligkeit und die Geschwindigkeit der Farbdurchläufe einstellbar.

Animationen und Farbdurchläufe
Animationen und Farbdurchläufe

49 Kommentare zu „McLighting zum Steuern von LED Strips“

  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: 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.

          1. Habe mir den gleichen LED strip von Chinly bestellt. Jedoch wird da empfholen bei 5 und 300 LEDs ein 20A Netzteil dran zu hängen.

            Pro LED sind es ja max ca. 60mA was bei 300 LEDs 18A wären.
            Zudem empfiehlt der Hersteller bei 60LED/m nach 2,5m eine weitere Stromversorgung hinzuzufügen bzw. den Streifen von beiden Seiten mit Strom zu versorgen.

            Wie kommst du da mit einem 3A Netzteil hin? Oder Irre ich mich da total in meiner Rechnung.

            LG
            Nicolas

  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. Das Problem hatte ich bei der v.2.2.3 auch.
      In der Doku steht aber, dass man es bei dieser Version nicht mehr im Skript anpassen muss.
      Sondern über die Adressleiste im Browser.
      Ließ dir die Doku nochmals durch

  8. Hallo, folgende Frage:
    Mit den ws2812b funktioniert es wunderbar. Jetzt habe ich aber noch viele Meter ws2801. Das geht bestimmt mit denen auch. Nur wie?
    Was muss ich an der config ändern und wie genau wäre der Anschluss, da ja 2 Datenleitungen benötigt werden.
    Kann mir das jemand beantworten?
    Vielen Dank

  9. Hallo,

    vielen Dank für die Anleitung und den Link zum Projekt.
    Es klappt auch sehr viel. Nur leider werden die LED’s „falsch“ angesteuert. Sobald ich Strom drauf gebe oder die Farbe/ein Programm ändere, flackern die LED’s völlig unkontrolliert. Aber sie reagieren. Sprich PIN ist richtig und Zugriff über HTTP klappt auch.
    Benutze eine Wemos D1 Mini und die 2812b.
    Hab den Strip schon auf 60 gekürzt und ein 20A Netzteil dran. Daran kann es auch nicht liegen.
    Wo bekomme ich die Version 2.2.0 her? Oder hat jemand noch eine andere Idee?

    Vielen Dank

    1. es ist unglaublich.
      da probiert man 2 Tage rum, nichts klappt. schreibt hier einen Kommentar und kommt direkt danach auf die Lösung:
      Der GroundPIN der LED’s musste mit dem Ground der D1 Mini verbunden werden….
      Die Hardware habe ich falsch angeschlossen.

      Macht jetzt richtig Spaß, Danke

      1. Ja die Verbindung der Pins ist teilweise sehr lose und wackelig. Manchmal fallen mir die Kabel auch einfach so raus. Am Besten fixiert man das Ganze anständig. Am WeMos ist da noch ziemlich viel Luft bei der Verbindung für die Pins.

        1. Schon mal dran gedacht einfach die Leitungsadern direkt anzulöten? Das direkte reinstecken in die Lötpunkte ist ja überhaupt nicht so gedacht (obwohl ich das schon öfters in YouTube Videos so gesehen habe).
          Alternative die beigefügten Buchsenleisten auf den D1 Mini löten und dort die Drähte mit Pinsteckern, die an die Drähte gelötet werden, rein stecken.

  10. Bin soweit durch das alles laufen müsste,
    leider leuchtet nur die erste Led richtig auf, dann blitzen die rechtlichen
    Led willkürlich auf ( WS2812B LED ).
    wo kann der Fehler liegen

    Gruß

      1. Hab genau das gleiche Problem nur das bei mir auch eben die Zweite Led grün leuchtet.
        Ich komm einfach nicht dahinter was ich falsch mache…

        1. Wenn du die Verkabelung schon überprüft hast, geh nochmal die Arduino Konfigurationsdateien durch. Man stellt ja einerseits die Länge des LED Strips ein, sowie den Anschluss / Port, welchen man benutzt.

          1. Also ich musste für korrekte funktionalität den schalter deaktivieren. Dieser triggert scheinbar willkürlich solange er offen ist am D1Mini
            //#define BUTTON 4 // Input pin (4 / D2) for switching the LED strip on / off, connect this PIN to ground to trigger button.

            //#define ENABLE_BUTTON // If defined, enable button handling code, see: https://github.com/toblum/McLighting/wiki/Button-control

  11. Hi,
    ich habe wohl ein ESP8266Mod Chip anstatt ESP8266-12E gekauft. Bekomme beim Prüfen der Kompilation ständig Fehlermeldungen. Kann es mit dem Chip zu tun haben (falsche Auswahl des Board, Einstellungen oder falsche Bibliothek) oder spielt dies keine Rolle, da die Boardwahl, Einstellungen und Bibliothek sich grundsätzlich auf den 8266 beziehen?

      1. Hier die Fehlermeldung (sowohl unter Windows 10 als auch unter Ubuntu)
        Arduino: 1.8.10 (Linux), Board: „NodeMCU 1.0 (ESP-12E Module), 80 MHz, Flash, Legacy (new can return nullptr), All SSL ciphers (most compatible), 4MB (FS:3MB OTA:~512KB), 2, v2 Higher Bandwidth, Disabled, None, Only Sketch, 115200“

        In file included from /home/m/.arduino15/packages/esp8266/hardware/esp8266/2.6.3/tools/sdk/libc/xtensa-lx106-elf/include/sys/stdio.h:6:0,
        from /home/m/.arduino15/packages/esp8266/hardware/esp8266/2.6.3/tools/sdk/libc/xtensa-lx106-elf/include/stdio.h:63,
        from /home/m/.arduino15/packages/esp8266/hardware/esp8266/2.6.3/cores/esp8266/Arduino.h:32,
        from sketch/McLighting.ino.cpp:1:
        /home/m/.arduino15/packages/esp8266/hardware/esp8266/2.6.3/tools/sdk/libc/xtensa-lx106-elf/include/sys/pgmspace.h:25:130: error: ‚const char HTTP_HEAD []‘ redeclared as different kind of symbol
        #define PROGMEM __attribute__((section( „\“.irom.text.“ __FILE__ „.“ __STRINGIZE(__LINE__) „.“ __STRINGIZE(__COUNTER__) „\““)))
        ^
        /home/m/Arduino/libraries/WiFiManager/WiFiManager.h:25:24: note: in expansion of macro ‚PROGMEM‘
        const char HTTP_HEAD[] PROGMEM = „{v}“;
        ^
        In file included from /home/m/Downloads/McLighting-master/Arduino/McLighting/McLighting.ino:10:0:
        /home/m/.arduino15/packages/esp8266/hardware/esp8266/2.6.3/libraries/ESP8266WebServer/src/ESP8266WebServer.h:33:39: error: previous declaration of ‚HTTPMethod HTTP_HEAD‘
        enum HTTPMethod { HTTP_ANY, HTTP_GET, HTTP_HEAD, HTTP_POST, HTTP_PUT, HTTP_PATCH, HTTP_DELETE, HTTP_OPTIONS };
        ^
        Mehrere Bibliotheken wurden für „WiFiManager.h“ gefunden
        Benutzt: /home/m/Arduino/libraries/WiFiManager
        Mehrere Bibliotheken wurden für „ESPAsyncTCP.h“ gefunden
        Benutzt: /home/m/Arduino/libraries/ESPAsyncTCP-master
        Mehrere Bibliotheken wurden für „ESPAsyncE131.h“ gefunden
        Benutzt: /home/m/Arduino/libraries/ESP_Async_E1.31
        Mehrere Bibliotheken wurden für „ESP8266WiFi.h“ gefunden
        Benutzt: /home/m/.arduino15/packages/esp8266/hardware/esp8266/2.6.3/libraries/ESP8266WiFi
        Mehrere Bibliotheken wurden für „WebSockets.h“ gefunden
        Benutzt: /home/m/Arduino/libraries/WebSockets
        Mehrere Bibliotheken wurden für „AsyncMqttClient.h“ gefunden
        Benutzt: /home/m/Arduino/libraries/async-mqtt-client-master
        Mehrere Bibliotheken wurden für „ESP8266HTTPUpdateServer.h“ gefunden
        Benutzt: /home/m/.arduino15/packages/esp8266/hardware/esp8266/2.6.3/libraries/ESP8266HTTPUpdateServer
        Mehrere Bibliotheken wurden für „Ticker.h“ gefunden
        Benutzt: /home/m/.arduino15/packages/esp8266/hardware/esp8266/2.6.3/libraries/Ticker
        Mehrere Bibliotheken wurden für „ArduinoJson.h“ gefunden
        Benutzt: /home/m/Arduino/libraries/ArduinoJson
        Mehrere Bibliotheken wurden für „ESPAsyncUDP.h“ gefunden
        Benutzt: /home/m/Arduino/libraries/ESPAsyncUDP-master
        Mehrere Bibliotheken wurden für „Hash.h“ gefunden
        Benutzt: /home/m/.arduino15/packages/esp8266/hardware/esp8266/2.6.3/libraries/Hash
        Mehrere Bibliotheken wurden für „DNSServer.h“ gefunden
        Benutzt: /home/m/.arduino15/packages/esp8266/hardware/esp8266/2.6.3/libraries/DNSServer
        Mehrere Bibliotheken wurden für „ESP8266WebServer.h“ gefunden
        Benutzt: /home/m/.arduino15/packages/esp8266/hardware/esp8266/2.6.3/libraries/ESP8266WebServer
        Mehrere Bibliotheken wurden für „ESP8266mDNS.h“ gefunden
        Benutzt: /home/m/.arduino15/packages/esp8266/hardware/esp8266/2.6.3/libraries/ESP8266mDNS
        Mehrere Bibliotheken wurden für „EEPROM.h“ gefunden
        Benutzt: /home/m/.arduino15/packages/esp8266/hardware/esp8266/2.6.3/libraries/EEPROM
        Mehrere Bibliotheken wurden für „WS2812FX.h“ gefunden
        Benutzt: /home/m/Arduino/libraries/WS2812FX
        Mehrere Bibliotheken wurden für „Adafruit_NeoPixel.h“ gefunden
        Benutzt: /home/m/Arduino/libraries/Adafruit_NeoPixel
        exit status 1
        Fehler beim Kompilieren für das Board NodeMCU 1.0 (ESP-12E Module).

  12. Erst einmal: schönes Projekt, genau was ich gesucht habe.

    Nach dem Flashen auf einen D1mini war die Euphorie groß; alles lief erst einmal prima auf dem Werktisch mit 60 LEDs und 2A-Netzteil. Vorgesehen ist das Ganze für einen Außenstrip, mit einem 12A-Außennetzteil. Damit läuft gar nichts. Ich habe dann noch weitere Stripes und Netzteile ausprobiert, die z.T. in der Wohnung fest installiert sind. Im Nachhinein lief es dann auch mit der Ausgangskonfiguration mit den 60 LED immer nur sporadisch. Ich habe die 5V-Versorgung mit einem 2200uF-Elko gepuffert, was aber ebenfalls nichts brachte.

    Heute habe ich dann mal den Sketch auf einen Amica geflasht; da läuft es zumindest mit der 60-LED-Konfiguration bisher stabil. Ebenso mit einer 40×16-Matrix mit 20A-Netzteil. Der Außenstrip und ein anderer Innenstrip sagen aber nach wie vor keinen Ton (mit anderen Controllern laufen beide problemlos).

    Ich vermute einen Zusammenhang mit der Stromversorgung (Restwelligkeit oder HF-Überlagerung?). Hat schon jemand ähnliche Erfahrungen gemacht und sogar vielleicht eine Lösung gefunden?

    1. Problem gelöst! Es war der Datenausgang, der zu unsauber war. Ich habe ihn jetzt über einen CMOS40106 (invertierender Schmitt-Trigger 6fach; 2 Trigger hintereinander, die restlichen mit den Eingängen auf Masse gelegt) geführt und zumindest der eine der beiden Stripes funktioniert jetzt tadellos. Den anderen konnte ich wegen Regen und Dunkelheit noch nicht testen, aber ich bin zuversichtlich!

    1. Eine 1:1 Verbindung zwischen ESP und LED Strip geht natürlich.

      https://www.youtube.com/watch?v=qKzPns1lycQ
      @debsahu from McLighting project here. Thanks for showcasing McLighting! You should try the index2.htm, where you can control more than 1 McLighting.

      Der Entwickler von McLighting hat die index2.htm Datei vorgeschlagen für die Steuerung mehrerer LED Strips. Schau dir das mal genauer an.

      Somit sollte auch eine 1:n oder n:m Beziehung möglich sein.

  13. Hey,

    hat soweit alles geklappt. Danke für die tolle Anleitung. Allerdings kann ich nicht alle vordefinierten Modi auswählen bzw. es passiert nichts. Müssen die noch gesondert angepasst werden ?

    Besten Dank

    deethre

    1. Also das Farbrad funktioniert aber die ganzen Voreinstellungen und Farbdurchläufe auf der extra Seite nicht? Seltsam. Es muss eigentlich nichts extra angepasst werden. Aber du besitzt schon exakt den WS2812B und kein anderes Modell?

      1. Hey,

        laut dem China Händler ja. Steht leider nix drauf. Habe aber gemerkt, dass der Geschwindigkeitsregler zu schnell eingestellt war für einige Demos.
        Könnte das Verhalten denn auf ein anderes Modell hinweisen ?

        Funktioniert das ganze eigentlich auch mit dem ESP01 ? Müsste, ja da nur ein Pin gebraucht wird.

        1. Habe noch mal ne andere Frage:
          Ich konnte nun die WS2812 Leiste erfolgreich in der Homebridge hinterlegen. Besteht auch die Option die FxModi per SIRI auszuwählen ?

          Besten Dank

Kommentar verfassen

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

Scroll to Top