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.