przesyłąnie stanu wejścia - 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: przesyłąnie stanu wejścia (/watek-przesy%C5%82%C4%85nie-stanu-wej%C5%9Bcia) |
przesyłąnie stanu wejścia - sliver001 - 09-10-2019 Jak przerobić ten kawałek kodu aby przesyłał po mqtt stan wejścia? W tej chwili po podaniu sygnału na button_pin przesyła komendę uruchamiającą przekaźnik. Chcę go przerobić tak aby przesyłał info z kontraktonu przy oknie z info czy okno jest otwarte czy zamknięte. Kod: const int SALON_KANAPA_BUTTON_PIN = 22; RE: przesyłąnie stanu wejścia - Robson Kerman - 09-10-2019 Program ma sprawdzać w pętli stan pinu, czy reagować na jego zmianę? Albo jeszcze na coś innego? RE: przesyłąnie stanu wejścia - kaczakat - 10-10-2019 Żeby coś analizować jest potrzebny kod+schemat. Input jako przycisk zadziała tylko gdy "w czasie spoczynku" jest wymuszany 1 stan, a drugi działaniem. Stan w spoczynku nie jest określony w kodzie, więc powinien być jakoś na schemacie. Poza tym użyj millis lub biblioteki do przycisków, dalay to kiepski pomysł, słaba droga na pisanie programów mających się z czymś w dodatku komunikować. RE: przesyłąnie stanu wejścia - sliver001 - 10-10-2019 (09-10-2019, 16:00)Robson Kerman napisał(a): Program ma sprawdzać w pętli stan pinu, czy reagować na jego zmianę? Albo jeszcze na coś innego?Program ma sprawdzać stan pinu - po otwarciu okna pojawi się stan wysoki i wtedy powinien przesłać komunikat mqtt. Myślę, że praca w pętli będzie chyba dobrym rozwiązaniem. (10-10-2019, 01:16)kaczakat napisał(a): Żeby coś analizować jest potrzebny kod+schemat. Input jako przycisk zadziała tylko gdy "w czasie spoczynku" jest wymuszany 1 stan, a drugi działaniem. Stan w spoczynku nie jest określony w kodzie, więc powinien być jakoś na schemacie. Jestem bardzo początkującym w dziedzinie ardu i na razie moje projekty opierają się na przeróbkach gotowych programów znalezionych w sieci. RE: przesyłąnie stanu wejścia - kaczakat - 10-10-2019 Nie ważne czy zaczynasz, czy już zrobiłeś 100 projektów. Pin ma mieć dwa stany, jeden stan ma być wymuszany przy braku aktywności, a drugi przy aktywności. Aktywność to może być Twój paluszek na przycisku, albo ta krańcówka. Po otwarciu okna pojawia się stan wysoki, czyli powinieneś zadbać o to, że jak okno jest zamknięte to coś wymusza stan niski. Inaczej po zabraniu impulsu wysokiego pin INPUT zostaje z tym wysokim stanem i sobie "pływa". Chyba, że krańcówka wymusza raz wysoki, raz niski. W AVR programowo można wymusić stan wysoki pinMode(SALON_KANAPA_BUTTON_PIN, INPUT_PULLUP);. Dla stanu niskiego bierzesz rezystor np. 10k i spinasz do GND - masz sprzętowy INPUT_PULLDOWN. Dlatego pytałem o schemat, jak to ma być u Ciebie. Raczej nie powinien wysyłać nic gdy jest stan wysoki, a tylko raz, gdy stan był niski i zmienił się na stan wysoki. Chcesz mieć komunikat wysyłany milion razy/s gdy okno jest otwarte? |