Der dort verbaute WLED Pixel Controller, auf dem die >>>WLED Firmware<<< läuft, stammt von @pmayer.
WLED wiederum basiert auf der populären >>>WS2812FX Library<<<, welche ich nun für das HB-OU-RGBW-LED-FX Projekt verwendet habe.
Natürlich muss man bedenken, dass es sich nicht um eine vollwertige WLED/WS2812FX Implementierung handelt!
Ich habe mich auf die wichtigsten Funktionen wie
- Farbe (jeweils R / G / B / W getrennt)
- Helligkeit
- Effekt-Modus (es lassen sich alle WS2812FX Effekte einstellen!)
- Effekt-Geschwindigkeit
Zudem lassen sich physische und virtuelle Segmente bilden. Jedes Segment wird als einzelner Kanal dargestellt. Sie lassen sich völlig unabhängig voneinander ansteuern.
Die LED-Anzahl 1024 ist jedoch ein "Spezialwert", der eine art virtuellen Kanal erzeugt.
Wie im Bild zu sehen, beziehen sich alle 3 Kanäle auf Kanal 1.
Das war notwendig, um Mehrfachverknüpfungen zwischen einem LED-Segment und ein und dem selben Sender (HM-Sec-RHS) mit mehreren Position zu realisieren.
Es ist ein WSLED_ACTIVATE_PIN vorgesehen, um den LED-Stripe komplett vom Strom zu trennen, wenn alle LEDs aus sind.
Github-Repository:
https://github.com/jp112sdl/HB-OU-RGBW-LED-FX
Der Sketch ist leider zu groß für einen Arduino Pro Mini (ATmega328P) und läuft erst ab einem ATmega644P(A) bzw. 1284P(A), alternativ geht auch ein ESP32.
Zu meiner Umsetzung (China lässt leider noch auf sich warten...):
An meinem Garagentor sind bereits an beiden Endlagen "offen" und "geschlossen" Reed-Kontakte angebracht, die den Zustand an Homematic mittels eines HM-Sec-RHS Nachbaus übermitteln. Damit sind schon mal alle 3 notwendigen Zustände erfasst.
Über Direktverknüpfungen soll nun je Position ein Programm gestartet werden. Das erspart jedwede Logik und macht die Ansteuerung komplett unabhängig von einer Zentrale.
Aber grundsätzlich lässt sich das Ganze auch über ein Programm steuern: Nun warte ich erstmal auf 3m SK6812 RGBNW LED-Stripe (60 LEDs/m) und melde mich wieder, wenn alles verbaut ist.
to be continued...