// C++ code
//
#include<IRremote.h>

const int pinIR=A0;
IRrecv recv(pinIR);
decode_results hasil;
const int pinLed=13;
int tombol;

void setup()
{
  Serial.begin(9600);
  recv.enableIRIn();
  pinMode(pinLed,OUTPUT);
}

void loop()
{

  
  if(recv.decode(&hasil)){
    //Serial.println(hasil.value);
    delay(100);
    switch(hasil.value){
    case 16593103:
    	digitalWrite(pinLed,HIGH);
    	delay(2000);
    	digitalWrite(pinLed,LOW);
    	delay(300);
    	Serial.println("0");
    	break;
    case 16582903:
      	tombol=1;
    	Serial.println("1");
    	break;
    case 16615543:
      	tombol=2;
    	Serial.println("2");
    	break;
    case 16599223:
      	tombol=3;
    	Serial.println("3");
    	break;
    default:
    	break;
    }
    for (int i=1;i<=tombol;i++){
    	digitalWrite(pinLed,HIGH);
   		delay(300);
        digitalWrite(pinLed,LOW);
    	delay(300);
    }
    tombol=0; 
    recv.resume(); 
  }  
}

/*
0=16593103
1=16582903
2=16615543
3=16599223
4=16591063
5=16623703
6=16607383
7=16586983
8=16619623
9=16603303
*/

Link library infrared

Source : Youtube Life Tech