busyboy Napisano Czerwiec 17, 2022 Udostępnij Napisano Czerwiec 17, 2022 Witam, Mam problem ze sterowaniem przekaźnikiem za pomocą pilota RF 433 Mhz Co do samej obsługi pilota przez Arduino wszystko jest ok - odbiornik czyta poprawnie przycisk pilota ale chciałbym aby przekaźnik przełączał się tylko wtedy gdy jest wciśnięty przycisk na pilocie w momencie puszczenia przycisku przekaźnik by się wyłączał. Mam taki kod #include <RCSwitch.h> RCSwitch mySwitch = RCSwitch(); void setup() { pinMode(8, OUTPUT); digitalWrite(8,HIGH); mySwitch.enableReceive(0); } void loop() { digitalWrite(8,HIGH); if (mySwitch.available()) { int value = mySwitch.getReceivedValue(); if ( mySwitch.getReceivedValue() == 1066005) digitalWrite(8,LOW); } digitalWrite(8,HIGH); } Ale niestety nie działa poprawnie. Tzn przekaźnik się załącza ale nie wyłącza się po puszczeniu przycisku. Proszę o pomoc
farmaceuta Czerwiec 18, 2022 Udostępnij Czerwiec 18, 2022 void loop() { if (mySwitch.available()) { if ( mySwitch.getReceivedValue() == 1066005) { digitalWrite(8,LOW); } } else { digitalWrite(8,HIGH); } } Sprobuj tego...chociaz dziwne, bo tamten kod nie powinien wlaczac przekaznika..tzn powinien, ale nie ma zadnych delay'ow wiec bardzo szybko zmieni sie stan na pinie na wysoki...przekaznik nie powinien zdarzyc zareagowac ..
_LM_ Czerwiec 18, 2022 Udostępnij Czerwiec 18, 2022 Być może ten mySwith przechowuje ostatnią zapisaną wartość i temu tak się dzieje. Trzeba poszukać czy niema możliwości skasowania tej zmiennej kiedy brak sygnału rf
Pomocna odpowiedź
Bądź aktywny - zaloguj się lub utwórz konto!
Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony
Utwórz konto w ~20 sekund!
Zarejestruj nowe konto, to proste!
Zarejestruj się »Zaloguj się
Posiadasz własne konto? Użyj go!
Zaloguj się »