#include int LA = 3; int LB = 11; int RA = 5; int RB = 6; void setup() { Serial.begin(9600); vw_set_ptt_inverted(true); // Required for DR3100 vw_set_rx_pin(12); vw_setup(4000); // Bits per sec pinMode(13, OUTPUT); pinMode(LA, OUTPUT); pinMode(LB, OUTPUT); pinMode(RA, OUTPUT); pinMode(RB, OUTPUT); vw_rx_start(); // Start the receiver PLL running Serial.println("All OK"); } void loop() { uint8_t buf[VW_MAX_MESSAGE_LEN]; uint8_t buflen = VW_MAX_MESSAGE_LEN; if (vw_get_message(buf, &buflen)) // Non-blocking { if((buf[0]=='X')&&(buf[1]=='1')) { Serial.println("BACKWARD"); backward(); delay(100); //off(); } else if((buf[0]=='X')&&(buf[1]=='2')) { Serial.println("FORWARD"); forward(); delay(100); //off(); } else if((buf[0]=='Y')&&(buf[1]=='1')) { Serial.println("LEFT"); left(); delay(100); //off(); } else if((buf[0]=='Y')&&(buf[1]=='2')) { Serial.println("RIGHT"); right(); delay(100); //off(); } else if((buf[0]=='A')&&(buf[1]=='1')) { Serial.println("STOP"); off(); delay(100); } } else { Serial.println("No Signal Received"); } } void forward() { analogWrite(LA, 70); analogWrite(LB, 0); analogWrite(RA, 70); analogWrite(RB, 0); } void backward() { analogWrite(LA, 0); analogWrite(LB, 70); analogWrite(RA, 0); analogWrite(RB, 70); } void left() { analogWrite(LA, 0); analogWrite(LB, 70); analogWrite(RA, 70); analogWrite(RB, 0); } void right() { analogWrite(LA, 70); analogWrite(LB, 0); analogWrite(RA, 0); analogWrite(RB, 70); } void off() { analogWrite(LA, 0); analogWrite(LB, 0); analogWrite(RA, 0); analogWrite(RB, 0); }