#include const int RECV_PIN = 0; //ir remote IRrecv irrecv(RECV_PIN); decode_results results; //motor drive pins int m1FW=1; int m1RV=2; int m2FW=3; int m2RV=4; //kill all function halt void halt(); //directional function prototypes void fw(); void rv(); void left(); void right(); //run time==dtime int dtime=500; //in ms void setup() { irrecv.enableIRIn(); // Start the receiver irrecv.blink13(true); Serial.begin(9600); pinMode(m1FW, OUTPUT); pinMode(m1RV, OUTPUT); pinMode(m2FW, OUTPUT); pinMode(m2RV, OUTPUT); } // lets make a fire! void loop() { halt(); if (irrecv.decode(&results)) { Serial.println(results.value); if(results.value==16732335){ //fw:16732335 fw(); } if(results.value==16738455){ //rv: 16738455 rv(); } if(results.value==16762935){ //rg:16762935 right(); } if(results.value==16746615){ //lf:16746615 left(); } } irrecv.resume(); // Receive the next value } void left(){ digitalWrite(m1FW, HIGH); digitalWrite(m2FW,HIGH); delay(dtime); // wait for a second halt(); } void right(){ digitalWrite(m1RV, HIGH); digitalWrite(m2RV,HIGH); delay(dtime); // wait for a second halt(); } void rv(){ digitalWrite(m1FW, HIGH); digitalWrite(m2RV,HIGH); delay(dtime); // wait for a second halt(); } void fw(){ digitalWrite(m1RV, HIGH); digitalWrite(m2FW,HIGH); delay(dtime); // wait for a second halt(); } void halt(){ //stop all that sht digitalWrite(m1FW, LOW); digitalWrite(m1RV, LOW); digitalWrite(m2FW, LOW); digitalWrite(m2RV, LOW); }