#include <IRremote.hpp>
#define IR_RECEIVE_PIN 5
#define NUMELEMENTS(x) (sizeof(x) / sizeof(x[0]))
struct Command {
IRRawDataType code; // the raw IR code
void (*callback)(); // the function to run
};
byte redPin = 11;
byte greenPin = 10;
byte bluePin = 9;
byte red ;
byte green;
byte blue;
void setup() {
pinMode(redPin, OUTPUT);
pinMode(greenPin, OUTPUT);
pinMode(bluePin, OUTPUT);
Serial.begin(115200);
IrReceiver.begin(IR_RECEIVE_PIN, ENABLE_LED_FEEDBACK);
}
void loop() {
if (IrReceiver.decode()) {
IRRawDataType incoming = IrReceiver.decodedIRData.decodedRawData;
switch(incoming) {
case 0x5DA2FF00: {
green = 255;
blue = 255;
red = 255;
break;
}
}
showLeds(red, green, blue);
IrReceiver.resume();
}
}
void showLeds(int red, int green, int blue) {
analogWrite(redPin, red);
analogWrite(bluePin, blue);
analogWrite(greenPin, green);
}