Saludos, estoy controlando una lampara LED a 120VAC en mi cuarto a traves de un comando IR y un pulsador de pared para timbres con el proposito de apagar o encender la luz independientemente del control que use, es decir, si uso el control remoto enciendo la luz y si utilizo el pulsador, se apaga y viceversa. Mi problema estriba en que no he podido establecer o condicionar el boton a que solo actue si detecta un flanco de subida. El pin esta configurado como INPUT_PULLUP. Anexo fragmento de codigo para mejor comprension.
estado_rl = digitalRead(rl);
estado_btn = digitalRead(btn);
if (estado_btn == LOW) //Lectura del botón
{
delay(250);
estado_btn = LOW;
}
if ((estado_rl == 1) && (estado_btn == 0)) //Botón y relé
{
digitalWrite(rl, 0);
}
else if ((estado_rl == 0) && (estado_btn == 0))
{
digitalWrite(rl, 1);
}
if ((estado_rl == 0) && (valorIR.value == power)) //Botón y control
{
digitalWrite(rl, 1);
valorIR.value = 0;
}
if ((estado_rl == 1) && (valorIR.value == power))
{
digitalWrite(rl, 0);
valorIR.value = 0;
}
}
Ya he intentado varias opciones modificando el código. Espero que pueda alguien orientarme si tengpo algun error. Gracias