Supla Device Wyzwolenie stanem niski lub wysokim

nebraska
Posts: 204
Joined: Thu Dec 08, 2022 3:00 pm
Been thanked: 1 time

Post

Hej
Chciałbym dopytać.
Jeśli chciałbym wyzwalać przycisk stanem wysokim 3.3V zamiast niskim to wystarczy że zamienie true na false i będzie ok?

Code: Select all

 switch1 = new Supla::Control::Button(BUTTON_PIN1, true, true);
-------------------->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

Code: Select all

 switch1 = new Supla::Control::Button(BUTTON_PIN1, false,false);
Dodatkowo myślałem dodac opornik 4.7k do masy.
User avatar
klew
Posts: 13905
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 134 times
Been thanked: 137 times

Post

nebraska wrote: Wed Jan 14, 2026 1:30 pm Hej
Chciałbym dopytać.
Jeśli chciałbym wyzwalać przycisk stanem wysokim 3.3V zamiast niskim to wystarczy że zamienie true na false i będzie ok?

Code: Select all

 switch1 = new Supla::Control::Button(BUTTON_PIN1, true, true);
-------------------->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

Code: Select all

 switch1 = new Supla::Control::Button(BUTTON_PIN1, false,false);
Dodatkowo myślałem dodac opornik 4.7k do masy.
W header masz:

Code: Select all

  explicit Button(int pin, bool pullUp = false, bool invertLogic = false);
pullUp włącza/wyłącza wbudowany pullup.

invertLogic odwaraca logikę. Domyślnie stan "LOW" -> przycisk niewciśnięty., HIGH -> Przycisk wciśnięty. Jak odwrócisz logikę, to jest na odwrót.

Także podsumowując:
jeśli dajesz opornik do GND, to robisz zewnętrzny pull down. Wtedy parametr "pullUp" ustawiasz na false (nie chcesz, aby ESP podciągało sygnał do 3,3 skoro Ty go ściągasz do GND.
Jeśli wyzwalasz stanem wysokim, to nie mamy tu odwróconej logiki. W stanie jałowym jest GND=LOW, a przy wciśnięciu jest 3,3 -> HIGH, więc "invert" na false.
Najlepsze suple dla Twojego domu :mrgreen:
nebraska
Posts: 204
Joined: Thu Dec 08, 2022 3:00 pm
Been thanked: 1 time

Post

Dzięki za wyjaśnienie. Śmiga, aż miło. Supla ponad wszystko 💪

Return to “Arduino IDE”