#include #define upi 0x10FED22D #define upd 0x10FE50AF #define Stop 0x10FEB04F #define downi 0x10FE30CF #define downd 0x10FE926D int RECV_PIN = 11; IRrecv irrecv(RECV_PIN); decode_results results; int outPin1 = 9; int outPin2 = 10; int outPin3 = 5; int outPin4 = 6; int i=0,j=0,a=0,b=0,c=0,d=0; void setup() { Serial.begin(9600); pinMode(outPin1, OUTPUT); pinMode(outPin2, OUTPUT); pinMode(outPin3, OUTPUT); pinMode(outPin4, OUTPUT); irrecv.enableIRIn(); } void loop() { if (irrecv.decode(&results)) { irrecv.resume(); if(results.value== upi){ delay(30); if(a>=1){ i+=5; } Serial.println(i); digitalWrite(outPin2, LOW); digitalWrite(outPin4, LOW); Serial.println("increase speed forwards"); a++; if(i>250){ i=250; } if(j<=250 && j>=0){ j=0; c=0; } analogWrite(outPin1,i); delay(100); analogWrite(outPin3,i); } if(results.value== upd){ delay(30); Serial.println(i); if(b>=1){ i-=5; } digitalWrite(outPin2, LOW); digitalWrite(outPin4, LOW); Serial.println("decrease speed forwards"); b++; if(i<0 ){ i=0; } analogWrite(outPin1,i); delay(100); analogWrite(outPin3,i); } if(results.value== downi){ delay(30); if(c>=1){ j+=5; } Serial.println(j); digitalWrite(outPin1, LOW); digitalWrite(outPin3, LOW); Serial.println("increase speed backwards"); c++; if(j>250){ j=250; } if(i<=250 && i>=0){ i=0; a=0; } analogWrite(outPin2,j); delay(100); analogWrite(outPin4,j); } if(results.value== downd){ delay(30); Serial.println(j); if(d>=1){ j-=5; } digitalWrite(outPin1, LOW); digitalWrite(outPin3, LOW); Serial.println("decrease speed backwards"); d++; if(j<0){ j=0; } analogWrite(outPin2,j); delay(100); analogWrite(outPin4,j); } if(results.value== Stop){ delay(30); i=0; j=0; digitalWrite(outPin1, LOW); digitalWrite(outPin2,LOW); digitalWrite(outPin3, LOW); digitalWrite(outPin4,LOW); Serial.println("Stop"); } } }