ESP32LedStripe ist ein MicroController-Programm geschrieben für das ESP32UnoBoard,
welches die RGB-Leds eines Led-Leuchtstreifens mit Farbe und Helligkeit ansteuert.
Dabei kann der Programmierer in der Software die Anzahl der gereihten RGB-Leds
sowie die zeitliche Folge der wechselnden Helligkeits- und Farbwerte angeben.
Dazu benutzen wir auf der PC-Seite die Programmier-Oberfläche VSCode
mit dem PlugIn PlatformIO und weiterhin als LedStripe-Bibliothek
"Adafruit_NeoPixel".
Als Hardware benutzen wir ein ESP32UnoBoard oder ein anderes kompatibles ESP32-Board,
einen LedStripe mit mindestens 10 Led-Pixeln und ein PowerSupply mit mindestens 5W.
Sehen wir uns jetzt die Hardware-Verschaltung unseres ESP32LedStripe-Versuchaufbaus an:
Der PC mit VSCode wird über die USB-Schnittstelle mit dem ESP32UnoBoard mit einem USB-Kabel direkt verbunden.
So findet ohne weitere Hardware die Programmierung des ESP32 sowie ein eventueller Datenaustausch mit dem PC statt.
Das ESP32UnoBoard liefert mit IO5 das DOUT-Signal für den DatenEingang des LedStripe über einen 470Ohm-Schutzwiderstand.
Weiterhin versorgt das PowerSupply mit +5V0 und GND die Versorgungsleitungen +5V0 und GND des LedStripe.
Die Versorgungsleistung des PowerSupply muss in Abhängigkeit der Anzahl der RGB-Leds mindestens 5W betragen.
Achtung:
Die von mir verwendeten Ledstreifen verlangen eine 5V-Spannungsversorgung durch ein separates Netzteil.
Die Leistungsaufnahme von Lichterketten liegt grob bei 10W/m .. 20W/m.
Wichtig:
Niemals die Leistungsversorgung eines Ledstreifens über die Betriebsspannung des Arduino-Boards direkt verbinden,
sondern ein separates PowerSupply mit der an die Zahl der Leds angepassten Leistung bei einer Betriebsspannung von +5V0 verwenden!
Noch ein Hinweis:
beide GND-Leitungen sowohl vom PowerSupply als auch vom ESP32UnoBoard sind im LedStripe miteinander verbunden!
Software
Die Software ESP32LedStripe wird unter VSCode mit dem PlatformIO-PlugIn für den Prozessor-Typ ESP32 entwickelt.
Die notwendigen Bestandteile der Adafruit-Bibliothek "Adafruit_NeoPixel" in der Version "1.10.7" wurden extrahiert,
umbenannt und ins lib-Verzeichnis des Projekts geladen. Die Quellen der NeoPixel-Bibliothek sind damit integraler
Bestandteil des ESP32LedStripe-Projekts.
In der Version (2212161355_Esp32LedStripe)_01V01 besteht ESP32LedStripe aus dem von Adafruit mitgelieferten und
vereinfachten Example "simple", bei welchem die Sources an meine Bedürfnisse angepasst wurden.
Das Resultat findet sich in "main.cpp":
Der Programmkopf besteht aus einem include der NeoPixel-Library.
Es folgen Constant-Definitionen wichtiger Betriebsparameter und die Instanzierung des
Objekts LedStripe mit dem Konstructor CNeoPixel.
In setup() findet mit Open eine Initialisierung des LedStripe-Objekts statt.
Im wiederkehrenden loop()-Aufruf werden zuerst mit Clear() alle Leds Dunkel geschaltet.
Danach stellt eine for-Schleife nacheinander die berücksichtigten 28 RGB-Leds auf Grün mit Helligkeit 15 von 255.
Die Umschaltung der Leds erfolgt mit einem Delay von 100ms.
Hier noch einmal das Ergebnis nach einem Compile&Run-Durchlauf:
Neben dieser ESP32LedStripe_01V01-Version stelle ich noch zwei weitere Versionen
mit allen Quellen zu freien Verfügung:
Version Esp32LedStripe_01V11 mit rot, grün, blau und flimmerweiss:
und Version Esp32LedStripe_01V12 mit rot, grün, blau und flimmerweiss in doppelter Intensität: