#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <IRremote.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
#define PIN_RECEIVER 4
IRrecv receiver(PIN_RECEIVER);
int led1 = 5;
int led2 = 6;
int led3 = 7;
void setup() {
receiver.enableIRIn();
lcd.init();
lcd.backlight();
lcd.setCursor(0, 0);
lcd.print("Press um botao");
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
}
void loop() {
if (receiver.decode()) {
translateIR();
receiver.resume();
}
}
void lcdPrint(char* text){
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("bot. pressionado:");
lcd.setCursor(0, 1);
lcd.print(text);
lcd.print("codigo: ");
lcd.print(receiver.decodedIRData.command);
}
void translateIR() {
switch(receiver.decodedIRData.command) {
case 162:
lcdPrint("PLAY ");
digitalWrite(led1, HIGH);
delay(2000);
digitalWrite(led1, LOW);
digitalWrite(led2, HIGH);
delay(2000);
digitalWrite(led2, LOW);
digitalWrite(led3, HIGH);
delay(2000);
digitalWrite(led3, LOW);
break;
case 226:
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
break;
default:
lcd.clear();
lcd.print(receiver.decodedIRData.command);
lcd.print(" Outro botao");
}
}