#include <IRremote.h>
#include <TimeLib.h>
#include <TimeAlarms.h>
#define IR_SEND_PIN 4 // O pino onde o emissor infravermelho está conectado
IRsend irsend(IR_SEND_PIN);
// Substitua com o código HEX do seu controle remoto específico
unsigned int signalON[] = {0x0000, 0x0067, 0x0000, 0x0015, ...};
void setup() {
Serial.begin(9600);
irsend.begin();
setTime(8, 29, 0, 1, 1, 2020); // Configura a hora inicial (hh, mm, ss, dia, mês, ano)
Alarm.alarmRepeat(17,30,0, turnOnAC); // Define o alarme para ligar o AC todos os dias às 17:30
}
void loop() {
digitalClockDisplay();
Alarm.delay(1000); // Espera um segundo entre exibições
}
// Função para enviar o sinal de ligar o AC
void turnOnAC() {
irsend.sendRaw(signalON, sizeof(signalON) / sizeof(signalON[0]), 38);
Serial.println("Ar-condicionado ligado!");
}
// Função para mostrar o horário atual no Serial Monitor
void digitalClockDisplay() {
Serial.print(hour());
printDigits(minute());
printDigits(second());
Serial.println();
}
void printDigits(int digits) {
Serial.print(":");
if(digits < 10)
Serial.print('0');
Serial.print(digits);
}