#include <IRremote.hpp>
const byte irReceivePin = 2;
const byte rPin = 9;
const byte gPin = 6;
const byte bPin = 5;
byte brightness = 255;
byte r, g, b;
byte h, s, l;
void handleCommand() {
if (IrReceiver.decode()) {
switch (IrReceiver.decodedIRData.decodedRawData) {
case 0x5DA2FF00 : // POWER for full bright white
h = 0 ; s = 0; l = 255;
break;
case 0x3DC2FF00 : // undo for all lights off
????
break;
case 0xCF30FF00 : // 1 for red, the current brightness needs to be used
h = 0, s = 100; l = 100;
break;
case 0xE718FF00: // 2 for green the current brightness needs to be used
h = 120; s= 100; l = 100;
break;
case 0x857AFF00: // 3 for blue , the current brightness needs to be used
h = 240; s = 100; l = 100
break;
case 0xEF10FF00: // 4 for cyan, the current brightness needs to be used
h = 180; s =100; l= 100;
break;
case 0xC738FF00: // 5 for yellow, the current brightness needs to be used
h = 60; s = 100; l = 100
break;
case 0xA55AFF00: // 6 for white, the current brightness needs to be used
h = 0 ; s = 0 ; l = 255;
break;
case 0X1FE0FF00: // the brightness decrease
if l < 50 {
l = 50;
} else {
l--;
}
break;
case 0x6F90FF00: // the brightness increases
if l > 100 {
l = 100;
} else {
l++;
}
break;
default: break;
}
// weer omzetten in rgb
// ??
analogWrite(rPin, outR);
analogWrite(gPin, outG);
analogWrite(bPin, outB);
IrReceiver.resume();
}
}
void setup() {
pinMode(rPin, OUTPUT);
pinMode(gPin, OUTPUT);
pinMode(bPin, OUTPUT);
Serial.begin(115200);
IrReceiver.begin(irReceivePin);
Serial.println(F("Ready"));
}
void loop() {
handleCommand();
}