apagar led transcurrido un tiempo

Buenas tardes compañeros,

Tengo un problema con una salida de arduino, tengo un programa que prende un led con un pulsador durante 30 segundos y posteriormente se apaga, lo que necesito es que cuando el led este encendido en culaquier momento lo pueda apagar usando el mismo pulsador y no tenga que esperar que pasen los 30 segundos para que se apague solo.

agradezco su ayuda.

Saludos

prueba.txt (827 Bytes)

Buenas!

Puedes usar una interrupt con un boolean attachInterrupt() - Arduino Reference para el pulsador, pero creo que necessita usar un otro pin que puede usar interrupt. Cuando usa el pulsador con el "FALLING" modo, prende el boolean (en la ISR function).
En loop(), mira el boolean, y si esta prendido y el LED esta apagado, prende el LED y apague el boolean. Si LED ya esta prendido, apague el LED y apague el boolean.
Para los 30 segundos, hay que esparar, como, 500ms, y cuenta 60 loops si el LED esta prendido ante de apagar el LED

Buena suerte