¡Mantenga presionado el botón de reinicio para reiniciar AVR!

1

Conecté un interruptor táctil al botón de reinicio del AVR de acuerdo con el siguiente circuito. Cada vez que presiono el botón, el AVR se reinicia solo, pero mi pregunta es: ¿hay alguna manera de hacer que este botón actúe después de unos 3 segundos? Me refiero a presionar el botón y mantenerlo presionado durante 3 segundos y luego el AVR se reinicia. (algún tipo de circuito de resistencia-condensador)

    
pregunta milad Chalipa

2 respuestas

4

El circuito aquí activará el reinicio del AVR aproximadamente 3 segundos después de presionar el interruptor. El AVR se mantendrá en reinicio siempre que se mantenga presionado durante los 3 segundos y luego saldrá del reinicio unos 0.75 segundos después de que se suelte el interruptor.

(Editar: Esquema reemplazado con uno que muestra el comparador LM393).

En este esquema, la fuente de voltaje V1 está ahí para proporcionar una acción controlada por voltaje del interruptor S1. Obviamente, en su caso, el S1 es simplemente un interruptor que presiona con el dedo.

El retraso de 3 segundos se puede modificar para obtenerlo tan cerca de 3 segundos como desee ajustando el valor R4.

El comparador que se muestra para U1 es un dispositivo con una salida push-pull, por lo que no necesitaría la resistencia de extracción R2. Si elige algún otro comparador compatible con 5V, puede tener una salida de drenaje abierta, por lo que requeriría la resistencia R2.

    
respondido por el Michael Karas
0

Sin agregar componentes externos, puede deshabilitar la función de reinicio del pin mediante fusibles ( ¡cuidado! ¡se quedará fuera del chip si no tiene un programador paralelo HV! ) y lo utiliza como un GPIO.

Cuando el pin está configurado como GPIO, puede contar en el software cuánto tiempo se ha presionado el botón y emitir un reinicio (por ejemplo, a través de watchdog).

También puedes usar todos los demás GPIO para reiniciar el software.

    
respondido por el filo

Lea otras preguntas en las etiquetas