Tabla de contenido:
- Paso 1: ¿Qué es este temporizador de vigilancia?
- Paso 2: ¿Cómo habilitar el temporizador de vigilancia?
- Paso 3: Mantenga su programa en funcionamiento
- Paso 4: Ejemplo de uso
- Paso 5: Problemas con el temporizador de vigilancia
- Paso 6: disfruta
Video: The Arduino Hang Guardian - Tutorial del temporizador de vigilancia de Arduino: 6 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:41
Hola a todos, Nos pasa a todos. Construye un proyecto, conecta con entusiasmo todos los sensores y, de repente, el Arduino se cuelga y no se procesa ninguna entrada.
"¿Qué está pasando?", Preguntarás y comenzarás a buscar en tu código, solo para darte cuenta de que te has quedado atascado en un bucle infinito. Gracias a Dios, el Arduino estaba en tu banco y no en una ubicación remota.
Hoy, veremos cómo podemos usar el temporizador de vigilancia en Arduino para evitar que esto suceda.
Paso 1: ¿Qué es este temporizador de vigilancia?
El temporizador de vigilancia de Arduino, como su nombre lo indica, es un temporizador que se ejecuta por separado de la CPU principal en la placa. Este temporizador se puede usar para verificar periódicamente el estado de la placa y, en circunstancias en las que la placa se atascó en un bucle de software o se atascó debido a una falla de hardware, el temporizador de vigilancia puede reiniciar el Arduino y hacer que comience de nuevo.
De forma predeterminada, cuando no está en uso, este temporizador está deshabilitado en todos los proyectos y solo cuando lo habilitamos, debemos asegurarnos de decirle periódicamente que no reinicie nuestra placa si todavía está funcionando como se esperaba.
Para poder usar el temporizador de vigilancia, primero debemos incluir el archivo avr / wdt.h en nuestro boceto de Arduino. Esta es la biblioteca estándar que contiene las acciones de vigilancia.
Paso 2: ¿Cómo habilitar el temporizador de vigilancia?
Para habilitar el temporizador, usamos la función "wdt_enable" donde necesitamos pasar el intervalo de umbral en el que se reiniciará la placa. Dependiendo de nuestro caso de uso, esto puede ser desde 15 milisegundos hasta 8 segundos en configuraciones predefinidas que están contenidas en la biblioteca de vigilancia.
UMBRAL - NOMBRE CONSTANTE
15 ms WDTO_15MS 30 ms WDTO_30MS 60 ms WDTO_60MS 120 ms WDTO_120MS 250 ms WDTO_250MS 500 ms WDTO_500MS 1s WDTO_1S 2s WDTO_2S 4s WDTO_4S 8s WDTO_8S
Paso 3: Mantenga su programa en funcionamiento
Ahora, con el temporizador habilitado, para evitar que reinicie nuestro Arduino, debemos llamar periódicamente a la función "wdt_reset" para reiniciar el temporizador de vigilancia antes de que expire el intervalo de umbral.
Al elegir un intervalo de reinicio, es crucial que tengamos en cuenta cualquier operación prolongada como leer o enviar datos o conectarse a sensores externos. El umbral de reinicio debe ser al menos una vez y media mayor que estos tiempos para evitar reinicios accidentales.
Paso 4: Ejemplo de uso
En el programa de ejemplo que puede descargar aquí, primero configuramos el temporizador de vigilancia con un intervalo de reinicio de 4 segundos. Luego para saber que estamos en la función de configuración, destellamos un LED 3 veces rápidamente y luego en el bucle principal primero reseteamos el temporizador, encendemos un LED con intervalos progresivamente más largos y luego lo apagamos. El siguiente ciclo reinicia el temporizador nuevamente hasta que el tiempo de encendido sea superior a 4 segundos.
Cuando esto sucede, el temporizador de vigilancia reinicia la placa y la configuración se ejecuta nuevamente.
Paso 5: Problemas con el temporizador de vigilancia
Un posible problema con el temporizador de vigilancia, dependiendo del cargador de arranque de su Arduino es que si el valor del temporizador de vigilancia es demasiado bajo y el cargador de arranque no restablece el temporizador al cargar un nuevo código, puede terminar dañando su placa Arduino de una manera que siempre estará atascado en la fase de arranque. El cargador de arranque intentará iniciarse, pero el temporizador seguirá reiniciando la placa, sin permitir que se inicie correctamente. Para evitar problemas como este, asegúrese de utilizar siempre intervalos de umbral de 2 segundos o más.
Paso 6: disfruta
Si tiene un ejemplo de dónde ha utilizado el temporizador de vigilancia en un proyecto real, avíseme en los comentarios, asegúrese de que le guste el video y no olvide suscribirse.
Saludos y gracias por leer / mirar!
Recomendado:
Motor paso a paso con chanclas D y temporizador 555; la primera parte del circuito el temporizador 555: 3 pasos
Motor paso a paso con chanclas D y temporizador 555; la primera parte del circuito el temporizador 555: El motor paso a paso es un motor de CC que se mueve en pasos discretos. Se utiliza a menudo en impresoras e incluso robótica. Explicaré este circuito en pasos. La primera parte del circuito es un 555 Temporizador. Es la primera imagen (ver arriba) con un chip 555 w
Temporizador para lámpara [Temporizador De Apagado De Lampara]: 3 Pasos
Timer for Light Fixture [Temporizador De Apagado De Lampara]: Ha pasado mucho tiempo desde que publiqué mi último instructable, así que decidí publicar otro de mis proyectos electrónicos. Tengo una luminaria de dos tipos de modo de iluminación, uno para estudio que son dos tubos fluorescentes T5 de 28 vatios que están fríos wh
Opciones de NVR para el sistema de vigilancia del hogar de bricolaje: 3 pasos
Opciones de NVR para el sistema de vigilancia del hogar DIY: En la parte 3 de esta serie, evaluamos las opciones de NVR para Raspberry Pi y para una PC con Windows. Probamos el sistema operativo MotionEye en la Raspberry Pi 3 y luego examinamos iSpy, que es una solución líder de seguridad y videovigilancia de código abierto
Microcontrolador AVR. Intermitente de LED con temporizador. Interrupciones de temporizadores. Modo CTC del temporizador: 6 pasos
Microcontrolador AVR. Intermitente de LED con temporizador. Interrupciones de temporizadores. Modo CTC del temporizador: ¡Hola a todos! Los temporizadores son un concepto importante en el campo de la electrónica. Cada componente electrónico funciona en una base de tiempo. Esta base de tiempo ayuda a mantener todo el trabajo sincronizado. Todos los microcontroladores funcionan a una frecuencia de reloj predefinida, el
Temporizador NE555 - Configuración del temporizador NE555 en una configuración estable: 7 pasos
Temporizador NE555 | Configuración del temporizador NE555 en una configuración estable: El temporizador NE555 es uno de los circuitos integrados más utilizados en el mundo de la electrónica. Tiene la forma de DIP 8, lo que significa que cuenta con 8 pines