#include <IRremote.h>
String myCom;
const byte IR_RECEIVE_PIN = 4;
int Lights = 11;
int lightsOn = 0;
int lightsBright = 0;
int lightsDelay = 10;
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
Serial.println("IR Receive test");
IrReceiver.begin(IR_RECEIVE_PIN, ENABLE_LED_FEEDBACK);
pinMode(Lights,OUTPUT);
}
void loop() {
// put your main code here, to run repeatedly:
if (IrReceiver.decode()) //Remote Reading Command
{
Serial.println(IrReceiver.decodedIRData.command);
IrReceiver.resume();
}
if(IrReceiver.decodedIRData.command == 162){ // power
myCom ="power";
Serial.println("power");
IrReceiver.decodedIRData.command = 0;
}
if(IrReceiver.decodedIRData.command == 226){ // Menu
myCom ="menu";
Serial.println("menu");
IrReceiver.decodedIRData.command = 0;
}
if(myCom == "power" && lightsOn == 0){ // Power routine
Serial.println("Lights On");
lightsBright = 255;
digitalWrite(Lights, lightsBright);
lightsOn = 1;
myCom="";
}
if(myCom == "power" && lightsOn == 1){ // Power routine
Serial.println("Lights Off");
lightsBright = 0;
digitalWrite(Lights, lightsBright);
lightsOn = 0;
myCom="";
}
if(myCom == "menu" && lightsOn == 1){ // lights fade
Serial.println("Lights fade");
while(lightsBright>=1){
lightsBright = lightsBright -1;
digitalWrite(Lights, lightsBright);
delay(lightsDelay);
Serial.println(lightsBright);
}
lightsOn = 0;
myCom="";
}
}