//Ikhsan Hadi Nugraha
//20552011167
#include <IRremote.h>
int receiver_pin = 8;
int first_light_pin = 7;
int second_light_pin = 6;
int third_light_pin = 5;
int fourth_light_pin = 4;
int led_case[] = {0,0,0,0};
IRrecv receiver(receiver_pin);
decode_results output;
void setup()
{
Serial.begin(9600);
receiver.enableIRIn();
pinMode(first_light_pin, OUTPUT);
pinMode(second_light_pin, OUTPUT);
pinMode(third_light_pin, OUTPUT);
pinMode(fourth_light_pin, OUTPUT);
}
void loop()
{
if (receiver.decode()) {
translateIR();
receiver.resume(); // Receive the next value
}
}
void translateIR()
{
// Takes command based on IR code received
switch (receiver.decodedIRData.command) {
case 48:
if(led_case[1] == 1)
{
digitalWrite(first_light_pin, LOW);
led_case[1] = 0;
}
else
{
digitalWrite(first_light_pin, HIGH);
led_case[1] = 1;
}
break;
case 24:
if(led_case[2] == 1)
{
digitalWrite(second_light_pin, LOW);
led_case[2] = 0;
}
else
{
digitalWrite(second_light_pin, HIGH);
led_case[2] = 1;
}
break;
case 122:
if(led_case[3] == 1)
{
digitalWrite(third_light_pin, LOW);
led_case[3] = 0;
}
else
{
digitalWrite(third_light_pin, HIGH);
led_case[3] = 1;
}
break;
case 16:
if(led_case[4] == 1)
{
digitalWrite(fourth_light_pin, LOW);
led_case[4] = 0;
}
else
{
digitalWrite(fourth_light_pin, HIGH);
led_case[4] = 1;
}
break;
case 162:
digitalWrite(first_light_pin, LOW);
digitalWrite(second_light_pin, LOW);
digitalWrite(third_light_pin, LOW);
digitalWrite(fourth_light_pin, LOW);
break;
}
}