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, digamos, 3 segundos? Quiero decir, presione el botón y manténgalo presionado durante 3 segundos y luego el AVR se reinicia. (algún tipo de circuito de resistencia-condensador)
El circuito aquí activará el restablecimiento del AVR unos 3 segundos después de presionar el interruptor. El AVR permanecerá en reinicio mientras se mantenga presionado durante 3 segundos y luego saldrá del reinicio aproximadamente 0,75 segundos después de soltar el interruptor.
(Editar: esquema reemplazado por 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 tu caso el S1 es simplemente un interruptor que presionas con el dedo.
El retraso de 3 segundos se puede modificar para acercarlo a los 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 pullup R2. Si elige algún otro comparador compatible con 5V, es posible que tenga una salida de drenaje abierta, por lo que requeriría la resistencia R2.
Sin agregar componentes externos, puede deshabilitar la función de pin de reinicio a través de fusibles (¡ cuidado! ¡Se bloqueará el chip si no tiene un programador paralelo HV! ) y utilícelo como un GPIO.
Cuando el pin está configurado como GPIO, solo puede contar en el software cuánto tiempo se ha presionado el botón y emitir un reinicio (por ejemplo, a través de un perro guardián).
También puede usar cualquier otro GPIO para hacer un reinicio de software.
manyyack
milad chalipa