#include <IRremote.h>
#include <LiquidCrystal_I2C.h> // Library for LCD
#define PIN_RECEIVER 7 // Signal Pin of IR receiver
IRrecv receiver(PIN_RECEIVER);
LiquidCrystal_I2C lcd(0x27, 16, 2); // I2C address 0x27, 16 column and 2 rows
void setup()
{
pinMode(10, OUTPUT);
pinMode(12, OUTPUT);
lcd.init(); //initialize the lcd
lcd.backlight(); //open the backlight
receiver.enableIRIn(); // Start the receiver
}
void loop()
{
// Checks received an IR signal
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:
digitalWrite(10, HIGH);
delay(200);
digitalWrite(10, LOW);
delay(200);
digitalWrite(10, HIGH);
delay(200);
digitalWrite(10, LOW);
delay(200);
digitalWrite(10, HIGH);
delay(200);
digitalWrite(10, LOW);
delay(200);
digitalWrite(10, HIGH);
delay(200);
digitalWrite(10, LOW);
delay(200);
digitalWrite(10, HIGH);
delay(200);
digitalWrite(10, LOW);
delay(200);
break;
case 16:
lcd.setCursor(3, 0);
lcd.print("Hello World");
delay(2000);
default:
digitalWrite(12,HIGH);
delay(2);//wait for 2ms
digitalWrite(12,LOW);
delay(2);//wait for 2ms
}
}