#include <IRremote.h>
#include <LiquidCrystal_I2C.h>
#include <Servo.h>
LiquidCrystal_I2C lcd(0x27, 16,2);
const byte IR_RECEIVE_PIN = 3;
int LED1 = 2;
int Buzzer = 4;
Servo servo;
void setup()
{
servo.attach(6);
lcd.init();
lcd.backlight();
lcd.begin(16,2);
lcd.setCursor(0,0);
lcd.print("LCD Ready");
delay(5000);
lcd.clear();
Serial.begin(9600);
Serial.println("IR Receive test");
IrReceiver.begin(IR_RECEIVE_PIN, ENABLE_LED_FEEDBACK);
pinMode(LED1, OUTPUT);
}
void loop()
{
if (IrReceiver.decode())
{
String ir_code = String(IrReceiver.decodedIRData.command, HEX);
Serial.println(ir_code);
if(ir_code == "30"){
lcd.setCursor(0,0);
lcd.print("LED ON");
digitalWrite(LED1, HIGH);
delay(2000);
lcd.clear();
}
else if(ir_code == "18"){
lcd.setCursor(0,0);
lcd.print("LED OFF");
digitalWrite(LED1, LOW);
delay(2000);
lcd.clear();
}else if(ir_code == "7a"){
lcd.setCursor(0,0);
lcd.print("Sound on");
digitalWrite(Buzzer, HIGH);
delay(2000);
lcd.clear();
}else if(ir_code == "10"){
lcd.setCursor(0,0);
lcd.print("Sound off");
digitalWrite(Buzzer, LOW);
delay(2000);
lcd.clear();
}else if(ir_code == "38"){
lcd.setCursor(0,0);
lcd.print("OPEN the door");
servo.write(180);
delay(2000);
lcd.clear();
}else if(ir_code == "5a"){
lcd.setCursor(0,0);
lcd.print("Close the door");
servo.write(0);
delay(2000);
lcd.clear();
}
}
IrReceiver.resume();
}