#include <IRremote.hpp>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
// === LCD ===
LiquidCrystal_I2C lcd(0x27, 16, 2); // Endereço padrão I2C
// === IR Receiver ===
const int IR_PIN = 15;
IRrecv irrecv(IR_PIN);
decode_results results;
// === Estado da "TV" ===
bool tvLigada = false;
// === Código do botão "Power" ===
// Use o Serial Monitor para descobrir o código do seu controle
const unsigned long BOTAO_POWER = 0xFFA25D; // Exemplo: botão Power
void setup() {
Serial.begin(115200);
lcd.init();
lcd.backlight();
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("TV Desligada");
irrecv.enableIRIn(); // Inicia receptor IR
}
void loop() {
if (irrecv.decode(&results)) {
Serial.print("Botao IR: ");
Serial.println(results.value, HEX);
if (results.value == BOTAO_POWER) {
tvLigada = !tvLigada;
lcd.clear();
lcd.setCursor(0, 0);
lcd.print(tvLigada ? "TV Ligada" : "TV Desligada");
}
irrecv.resume(); // Pronto para próximo sinal
}
}