#include #include #define B_1 0xFF6897 #define B_2 0xFF9867 #define blk 0xFFA25D const int pin_receiver = 0; const int pin_servo = 7; uint32_t Previous; int pin_L1 = 13; int pin_L2 = 12; int pin_L3 = 11; Servo servo; IRrecv irrecv(pin_receiver); decode_results results; void setup() { Serial.begin(9600); irrecv.enableIRIn(); servo.attach(pin_servo); pinMode(pin_L1, OUTPUT); pinMode(pin_L2, OUTPUT); pinMode(pin_L3, OUTPUT); } void loop() { if (irrecv.decode(&results)) { if (results.value==0xFFFFFFFF) { results.value=Previous; } switch(results.value) { case B_1 : servo.write(0); setColor(255, 0, 0); break; case B_2 : servo.write(100); setColor(0, 255, 0); break; case blk : servo.write(100); setColor(0, 0, 0); break; } Serial.println (results.value, HEX); irrecv.resume(); //next value } Previous=results.value; } void setColor(int value_L1, int value_L2, int value_L3) { analogWrite(pin_L1, value_L1); analogWrite(pin_L2, value_L2); analogWrite(pin_L3, value_L3); }