sketch de Arduino

Seguir
Buenos días. necesito realizar una consulta. Debo realizar un sketch para Arduino que realice la siguiente tarea: cuando la entrada designada detecte un cambio de estado (de LOW a HIGH y viceversa), la salida designada, previamente inicializada en LOW debe pasar a HIGH, mantenerse en ese estado durante 5 segundos y volver al estado LOW.
El Arduino que utilizo es el Arduino nano. Me interiorizo sobre Arduino hace algun tiempo, pero mis conocimientos aún no son suficientes como para manejar interrupciones, que fue una de las ideas que me pasaron.
Desde ya agradezco la ayuda que puedan brindarme al respecto.

Cordiales saludos.

Alejandro.

2 Soluciones propuestas

Seria mas facil ayudarte si compartieras tu codigo. Por lo que leo deberias tener un loop principal que chequee el cambio de señal (usando digitalRead()), lo asignas a una variable por ej:

[code:1]variable = digitalRead(numeroDePin[/code:1]);

y despues podes chequear el valor con una declaracion if: Por ej:

[code:1]if( variable == HIGH ) { esperar 5 seg y volver a LOW usando digitalWrite() }[/code:1] digitalWrite() link.

Para esperar 5 seg podes usar delay(5000) o usar una libreria externa como timer1 para no tener que pausar el programa, y deberias agregar algun condicional para no volver a chequear lo chequeado hasta que sea necesario.
esta es la instruccion de alto a bajo y solo se coloca el tiempo que solicite uno setup_timer_0(rtcc_ext_h_to_l|rtcc_div_1);