Do regulacji jasności oświetlenia LED (na 5,12 czy 24v) najlepiej nadaje się "PWM" - czyli modulacja szerokości impulsu. Nie grzeje się, a ledy nie migają (pod warunkiem, że "pwm jest odpowiednio szybki" - tutaj pracuje w kHz, nie ma najmniejszych szans by coś migotało)
Zakładam, że mamy już:
Jeśli chcemy użyć jednego modułu załatwiającego 3+4+5 - są gotowe moduły ściemniacza z ESP na pokładzie - na przykład takie: Sinilink ESP-12F XY-WFMS za 5$ na aliexpress
Moduł opisany jest np tutaj
Jeśli chcemy zbudować nasz system z oddzielnych klocków - jako moduł wykonawczy bardzo dobrze sprawdzają się płytki Mosfet tego typu:
lub
Oba za około 0.6$. Pierwszy ma taką zaletę, że ma "wejście i wyjście" na oddzielnych kostkach, a drugi ma tą zaletę, że posiada jeszcze opto-izolację wejścia sterującego od wyjścia sterowanego (nie trzeba się martwić pętlami masy itp)
Jakiego modułu ESP użyjemy - i z czego go zasilimy to osobna kwestia.
Ważne, by zapewnić 3.3v (lub 5v w przypadku płytek typu Wemos itp, gdzie na samym module jest 3.3v stabilizator) o wydajności około 0.5A - układ 7805 powinien wystarczyć, ale będzie się grzał.
Aby zbudować firmware obsługujące ściemnianie (regulację jasności przez pwm) musimy w https://gui-generic-builder.supla.io/ wybrać co najmniej:
Inne: RGBW, RGB, Dimmer
Oraz przydałoby by się - Przyciski.
Ogólnie wgrywanie oprogramowania jest opisane tutaj i jest zależne od wybranej płytki ESP, więc nie rozwodząc się nad instalacją sterowników USB, wyborem programu do programowania... zróbmy to jak zawsze, i przejdźmy do konfiguracji.
Pierwsze uruchomienie modułu i dodanie go do konta Supla - też mamy już opisane - jest takie samo dla wszystkich modułow.
Oprócz ustawienia portu GPIO dla przycisku (bo mamy przycisk, prawda?) w opcji Przyciski, musimy odwiedzić jeszcze zakładkę INNE:
Znajdziemy tam konfigurację wyjść PWM - do regulatora kolorów RGB, lub właśnie ściemniacza.
Ilość - dotyczy kompletnych wyjść w stylu RGB + White, niezależnie czy używamy RGB, czy tylko kanału White, czy obu na raz.
Musimy ustawić Ilość na 1, a dla prostego ściemniacza - ustawić port GPIO tylko i wyłącznie dla White/dimmer:
(nr portu w tym przypadku jest przykładowy)
nie zapominamy o naciskaniu Zapisz po każdej zmianie!
W firmware GG (jak na razie) nie jest to wprost napisane, ale jest na sztywno przyporządkowane Przycisk1 > Dimmer1, Przycisk2 > Dimmer2 (jeśli nasz moduł posiada więcej dimmerów ustawionych) itd.
W konfiguracji Przyciski - pod linkiem przycisku widnieje co prawda przypisanie do przekaźnika (i nie ma nigdzie napisanego, że przycisk 1 steruje Dimmer1)
Jeśli mamy tylko 1 przycisk, i jeden kanał ściemniacza - nie ma problemu, wszystko "działa prosto z pudełka" i nic nie trzeba zmieniać.
Podobnie - gdy mamy np 2 kanały Dimmer, i 2 przyciski - z automatu przycisk 1 steruje pierwszym dimmerem, przycisk 2 drugim.
Krótkie naciśnięcie przycisku - włącza i wyłącza światło. W sposób ładnie płynny (ściemniając od aktualnego do zera, lub od zera - do poprzednio ustawionej jasności)
Długie naciśnięcie - gdy światło jest wyłączone - włącza światło na minimalnym poziomie. Jeśli nadal trzymamy przycisk - to zaczyna się ono stopniowo rozjaśniać aż do maksimum (lub do poziomu, przy którym puścimy guzik)
Długie naciśnięcie - gdy światło jest włączone - rozjaśnia stopniowo światło aż do maksimum. Jeśli jest już maksimum - zaczyna się ściemniać aż do minimum.
Trochę trzeba się pogimnastykować, jeśli w jednym module chcemy sterować równocześnie przekaźnikami, ORAZ mieć ściemnianie.
Ponieważ przycisk 1 zawsze steruje Dimmer1, to trzeba konfiguracji poszczególnych przycisków ustawić to tak, że:
Jeśli mamy więcej niż jeden kanał ściemniacza, np 2 dimmery - to powyższe stosujemy z przesunięciem +2 (przycisk1 > przekaźnik 20, przycisk2 > przekaźnik21, przycisk3 > przekaźnik1, przycisk4 > przekaźnik2 itd)
Jeśli nie ustawimy GPIO dla kanałow RGB - nasz moduł znajdzie się w Supla Cloud jako ściemniacz:
Jeśli ustawilibyśmy również kanały RGB (np dla taśmy LED RGB kolorowej) to zjawiło by się nam to jako RGB + W:
I będzie można osobno włączać i wyłączać kanał Biały, i ustawiać kolor i jasność kanału kolorowego RGB.
Jeśli ustawimy tylko RGB, bez kanału White/Dimmer - będziemy mieli wyłącznie regulację kolorów: