Skocz do zawartości

Sterowanie przekaźniekiem przez pilota RF 433Mhz


Pomocna odpowiedź

Napisano

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

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 ..

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

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ę »
×
×
  • Utwórz nowe...