Prosty ściemniacz LED

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)

Sprzęt

Zakładam, że mamy już:

  1. jakąś swoją lampkę, lub pasek LED, zasilany 12v (lub 24v - wtedy potrzeba odpowiednio 24v zasilacza).
  2. odpowiednio dobrany zasilacz 230v > 12v (lub 24v, j.w.) o odpowiedniej mocy (wydajności prądowej) dla naszego paska led lub lampki
    Potrzebujemy jeszcze:
  3. modułu z ESP (logiczne) do sterowania.
  4. elementu wykonawczego (najlepiej typu mosfet) który będzie regulował prąd LED
  5. oraz ewentualnie czegoś, by dla naszego modułu ESP zrobić 3.3v lub 5v, z obecnych 12-24v)

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
Sinilink%20ESP-12F%20XY-WFMS

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

Przygotowanie firmware

Aby zbudować firmware obsługujące ściemnianie (regulację jasności przez pwm) musimy w https://gui-generic-builder.supla.io/ wybrać co najmniej:
dimmer
Inne: RGBW, RGB, Dimmer
Oraz przydałoby by się - Przyciski.

Programowanie, pierwsze uruchomienie

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.

Konfiguracja pracy modułu

Oprócz ustawienia portu GPIO dla przycisku (bo mamy przycisk, prawda?) w opcji Przyciski, musimy odwiedzić jeszcze zakładkę INNE:
Dimmer-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:
dimmer-gpio
(nr portu w tym przypadku jest przykładowy)

nie zapominamy o naciskaniu Zapisz po każdej zmianie!

Sterowanie lokalne - przyciskiem.

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)
dimmer-button
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:

  • przycisk nr. 1 ustawiamy, że steruje jakimś fikcyjnym przekaźnikiem, którego nie mamy (np 20). Będzie on sterował Dimmer1 - nie ruszając żadnego faktycznego przekaźnika.
  • przycisk nr. 2 ustawiamy, że steruje przekaźnikiem nr. 1
  • przycisk nr. 3 ustawiamy, że steruje przekaźnikiem nr. 2
  • itd dla kolejnych przekaźników i przycisków (jeśli mamy ich więcej)

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)

Supla Cloud i aplikacja

Jeśli nie ustawimy GPIO dla kanałow RGB - nasz moduł znajdzie się w Supla Cloud jako ściemniacz:
dimmeroff dimmeron

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:
dimmerrgboffoff
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:
rgbon