Heke:
Con la misma solucion y el 99 % del codigo que han apuntado al compañero que inicio el post.
xlopez:
Hola,Depende de si quieres el monoestable redisparable (si se aprieta el pulsador se reinicia la cuenta de los diez segundos) o no (no se reinicia).
Voy a suponer que no lo quieres redisparable.
Tienes que pensar en el monostable como una máquina de estados.
Tienes dos estados el estado 'ESPERANDO' y el estado 'ACTIVO' .
En el estado 'ESPERANDO' lo único que tienes que fijarte es si se aprieta el botón, en ese caso se hace lo siguiente:
if (pinBoton==HIGH) {
previousMillis = currentMillis;
estado=ACTIVO;
ledState=HIGH;
}
Y si estamos en estado 'ACTIVO' simplente comprobamos si se han pasado los 10 segundos
if(currentMillis - previousMillis > intervalOn) {
ledState = LOW;
estado=ESPERANDO;
}Quedaría algo así:
loop() {
currentMillis = millis();
if (estado==ESPERANDO){
bloque1;
}
else {
bloque2;
}
}
Estoy comenzando con arduino y me parecio interesante el codigo es lo que busco encender un led con un pulsador durante un tiempo determinado y luego que se apague automaticamente, podria explicar el codigo completo por favor