#include <Servo.h>
// RC Receiver
Servo myReceiverOut;
#define button 2
#define receiverOut 12
// Arduino
Servo myArduinoServo;
#define arduinoIn 13
#define arduinoServo A0
void setup() {
// RC Receiver
pinMode(button,INPUT_PULLUP);
myReceiverOut.attach(receiverOut);
myReceiverOut.write(90);
// Arduino
pinMode(arduinoIn,INPUT);
myArduinoServo.attach(arduinoServo);
myArduinoServo.write(90); }
void loop() {
// RC Receiver
static bool buttonState=true;
if (digitalRead(button)!=buttonState) {
buttonState=digitalRead(button);
if (buttonState) { myReceiverOut.write(0); }
else { myReceiverOut.write(180); } }
// Arduino
static bool inputstate;
static bool servostate;
static uint64_t timer=millis();
unsigned long pulse=pulseIn(arduinoIn,HIGH,30000);
if (pulse<1100 && inputstate==true && millis()>timer+200) {
inputstate=false;
timer=millis();
myArduinoServo.write(90); }
if (pulse>1900 && inputstate==false && millis()>timer+200) {
inputstate=true;
timer=millis();
servostate=!servostate;
if (servostate) { myArduinoServo.write(0); }
else { myArduinoServo.write(180); } } }