Zmiana stanu przekaźników jednym guzikiem - OneButton - Wersja do druku +- Arduino Polska Forum (https://forum.arduinopolska.pl) +-- Dział: Korzystanie z Arduino (https://forum.arduinopolska.pl/dzial-korzystanie-z-arduino) +--- Dział: Piaskownica (https://forum.arduinopolska.pl/dzial-piaskownica) +--- Wątek: Zmiana stanu przekaźników jednym guzikiem - OneButton (/watek-zmiana-stanu-przeka%C5%BAnik%C3%B3w-jednym-guzikiem-onebutton) |
Zmiana stanu przekaźników jednym guzikiem - OneButton - bullseye - 17-12-2017 Znowu mam problem, i mam nadzieję że przez jakąś głupotę a nie kompletnie odwrotne myślenie Może najpierw nakreślę co chciałbym by mój program robił, biblioteka która mi pomaga to OneButton:
Kod: #include "OneButton.h" Przekaźniki są sterowane stanem niskim jakby co. RE: Zmiana stanu przekaźników jednym guzikiem - OneButton - bullseye - 17-12-2017 Ok trochę poprawiłem, działa niby tak jakbym chciał ale..... case 2 trzyma dwa przekaźniki właczonone, gdy longpress stara się je wyłączyć na ten czas...... da się to sprytnie obejść by nie wykluczały się obie zależności ? Kod: #include "OneButton.h" RE: Zmiana stanu przekaźników jednym guzikiem - OneButton - bob35 - 17-12-2017 Kolego bullseye czemu sam nie napiszesz programu a używasz czyjegoś i nie jest dla Ciebie zrozumiały Na początek ustaw 1 wejście przycisk 2 wyjścia LOW z tego co wyczytałem to masz tylko 3 kombinacje 00 10 01 teraz poczytaj o warunkach (if)tu wystarczą prawdziwe 1 warunek if jeżeli przycisk jest wciśnięty a wyjście 1 ma stan niski a 2 niski to wyjście 1 daj na stan wysoki a 2 niski odczekaj 2s 2 warunek if jeżeli przycisk jest wciśnięty a wyjście 1 ma wysoki a 2 niski to wyjście 1 daj na stan niski a 2 wysoki odczekaj 2s i trzeci warunek RE: Zmiana stanu przekaźników jednym guzikiem - OneButton - krn78 - 20-12-2017 Pozwolę sobie rozszerzyć wypowiedź bob35, choć właściwie niczego nowego specjalnie nie wniosę. W logice cyfrowej znane są trzy podstawowe działania: suma logiczna (lub, or), iloczyn logiczny (i, and) oraz negacja logiczna (not). Każdy wynik działania logicznego zawiera się w takim samym zbiorze ({0,1}), jak każdy z sygnałów wchodzących w skład działania. Poszczególne działania przedstawia się najczęściej w tabelach prawdy: A B A or B A and B 0 0 0 0 0 1 1 0 1 0 1 0 1 1 1 0 Negacja jest odwróceniem wartości sygnału: A not A 0 1 1 0 W arduino (i w ogóle, w programowaniu) wykorzystuje się to najczęściej przy warunkach. Dla przykładu, if: Kod: if((warunek1) or (warunek2)) { Ostatnia linia kodu ustawia wartość zmiennej stan_czujnika jako odwrotną do stanu pinu 7. |