if (results.value == 0X4EA240AE) { //Botão on/off do controle liga o modulo de led
digitalWrite(pinModuloLED, HIGH);
}
if (results.value == 0XA32AB931) { //Botão "DISPLAY" do controle desliga o modulo de led
digitalWrite(pinModuloLED, LOW);
}
if (results.value == 0XE0984BB6) { //Botão timer do controle liga o temporizador de 6 horas
digitalWrite( pinModuloLED, HIGH); //Liga o modulo de led
delay(21600000); //O modulo de led permanece ligado por 6 horas
digitalWrite( pinModuloLED, LOW); //Apaga o modulo led
}
irrecv.resume(); // Receive the next value
testa este sketch e depois conta o resultado pra gente.
Obs: Sempre post o sketch entre flags </>.
RV mineirin
#include <IRremote.h> //inclusão biblioteca InfraVermelho
#define RECV_PIN 2 //Define o pino utilizado pelo sensor IR
#define pinModuloLED 5 //Define o pino utilizado pelo modulo led
bool flag = false;
unsigned tempo = 0;
IRrecv irrecv(RECV_PIN);
decode_results results;
void setup() {
Serial.begin(9600); // Monitor velocidade 9600 bps
irrecv.enableIRIn();
pinMode(pinModuloLED, OUTPUT);
}
void loop() {
if (irrecv.decode(&results)) {
Serial.println(results.value, HEX);
if (results.value == 0X4EA240AE) { //Botão on/off do controle liga o modulo de led
digitalWrite(pinModuloLED, HIGH);
flag = false;
}
if (results.value == 0XA32AB931) { //Botão "DISPLAY" do controle desliga o modulo de led
digitalWrite(pinModuloLED, LOW);
flag = false;
}
if (results.value == 0XE0984BB6) { //Botão timer do controle liga o temporizador de 6 horas
flag = true;
digitalWrite( pinModuloLED, HIGH); //Liga o modulo de led
tempo = millis();
//delay(21600000); //O modulo de led permanece ligado por 6 horas
//digitalWrite( pinModuloLED, LOW); //Apaga o modulo led
}
irrecv.resume(); // Receive the next value
}
if (flag == true)
{
if (millis() - tempo >= 21600000)
{
flag = false;
digitalWrite( pinModuloLED, LOW); //Apaga o modulo led
}
}
}