rc-switch icon indicating copy to clipboard operation
rc-switch copied to clipboard

Use without pin change inerrupt?

Open planer-pro opened this issue 5 years ago • 1 comments

Hi everyone. I use this lib for reading rc433 mhz pult for control servo. Trouble thing is servo motor use unstable (servo.h), because rc-switch use long interrupt for processing. Is it possible use this library checking in main loop for example, i think this is resolve my problem?

all my code: `#include <Arduino.h> #include <RCSwitch.h> #include <Servo.h>

#define BTN_REPEAT 500 #define BTN_CODE 0xDB6A1 #define SERVO_PIN 9

RCSwitch rf = RCSwitch(); Servo serv;

void setup() { rf.enableReceive(0); // Receiver on interrupt 0 => that is pin #2 serv.attach(SERVO_PIN); serv.write(90); //start servo position }

void loop() { static uint32_t tm; static bool en, servState;

if (rf.available())
{
    if (rf.getReceivedValue() == BTN_CODE)
    {
        servState = !servState;

        if (servState)
            serv.write(180);
        else
            serv.write(90);

        rf.resetAvailable();
        rf.disableReceive();

        tm = millis();
        en = true;
    }
    else
        rf.resetAvailable();
}

if (en && millis() - tm > BTN_REPEAT)
{
    en = false;
    rf.enableReceive(0);
}

}`

planer-pro avatar Apr 10 '21 23:04 planer-pro

Did you solve your problem? I have a similar problem.

Arafa-microsys avatar Aug 30 '21 18:08 Arafa-microsys