#include <IRremote.h>
#include <LiquidCrystal_I2C.h>
#define receiver_pin 2
IRrecv receiver(receiver_pin);
LiquidCrystal_I2C lcd(0x27,16,2);
void setup() {
// put your setup code here, to run once:
pinMode(receiver_pin, INPUT);
lcd.begin(16,2);
lcd.print("press a button");
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
receiver.enableIRIn();
}
void loop() {
// put your main code here, to run repeatedly:
if(receiver.decode()){
lcd.clear();
lcd.setCursor(8,0);
//lcd.println(receiver.decodedIRData.command);
switch(receiver.decodedIRData.command){
case 104:{lcd.print("0");digitalWrite(3, HIGH);
digitalWrite(4, HIGH);
digitalWrite(5, HIGH);
digitalWrite(6, HIGH);break;}
case 48:{lcd.print("1");digitalWrite(3, HIGH);
digitalWrite(4, HIGH);
digitalWrite(5, HIGH);
digitalWrite(6, LOW);break;}
case 24:{lcd.print("2");digitalWrite(3, HIGH);
digitalWrite(4, HIGH);
digitalWrite(5, LOW);
digitalWrite(6, HIGH);break;}
case 122:{lcd.print("3");digitalWrite(3, HIGH);
digitalWrite(4, HIGH);
digitalWrite(5, LOW);
digitalWrite(6, LOW);break;}
case 16:{lcd.print("4");digitalWrite(3, HIGH);
digitalWrite(4, LOW);
digitalWrite(5, HIGH);
digitalWrite(6, HIGH);break;}
case 56:{lcd.print("5");digitalWrite(3, HIGH);
digitalWrite(4, LOW);
digitalWrite(5, HIGH);
digitalWrite(6, LOW);break;}
case 90:{lcd.print("6");digitalWrite(3, HIGH);
digitalWrite(4, LOW);
digitalWrite(5, LOW);
digitalWrite(6, HIGH);break;}
case 66:{lcd.print("7");digitalWrite(3, HIGH);
digitalWrite(4, LOW);
digitalWrite(5, LOW);
digitalWrite(6, LOW);break;}
case 74:{lcd.print("8");digitalWrite(3, LOW);
digitalWrite(4, HIGH);
digitalWrite(5, HIGH);
digitalWrite(6, HIGH);break;}
case 82:{lcd.print("9");digitalWrite(3, LOW);
digitalWrite(4, HIGH);
digitalWrite(5, HIGH);
digitalWrite(6, LOW);break;}
default:lcd.clear();
}
receiver.resume();
}
}