Cómo utilizar un botón reset externo con Arduino Deja un comentario

Reset_ButtonComo sabes, nuestro Arduino UNO ya viene con un botón reset incluido en nuestra placa. En ocasiones necesitamos replicar ese botón en otra parte de nuestro prototipado. En este artículo vamos a ver las posibilidades que tenemos y cómo usar un botón reset externo con Arduino ya sea por hardware o por software.

Imagínate que tienes un shield encima de tu placa de Arduino que te complica darle al botón del reset y ya estás cansado de coger un lápiz o similar para poder darle a este botón. O que va creciendo tu prototipado y en la carcasa que estas creando quieres añadir un botón de reset.

Construir este botón reset externo en Arduino es muy fácil. Mira el esquema para que veas de la complejidad que estoy hablando:

Como ves tan solo necesitamos:

  • Una placa de Arduino
  • Un pulsador
  • Dos cables
  • Necesidad de duplicar este botón

A estas alturas, si no lo conocías, ya habrás observado que hay un pin específico para esto, el pin reset, y es que los chicos de Arduino ya lo tenían claro cuando crearon esta placa. El motivo es el que te he contado, la posible dificultad de acceso al botón que viene en la placa.

Pero déjame que te cuente como funciona. Como ves tenemos un cable que sale de la tierra y por lo tanto con 0v. Este pasa por el pulsador momentáneo y de este sale otro cable hacia el pin reset. Cuando presionemos el pulsador cerramos el circuito y el botón reset se conecta a la tierra (0v) y nuestra placa de Arduino se resetea.

¿Quieres montar tu primer proyecto con Arduino?

Con este curso gratuito crearás un Sistema de Riego Automático con Arduino, paso a paso y en sólo una semana.

Según  dice la documentación oficial esta conexión al menos debe durar 2.5 µs para que la placa se resetee. Lo cual, al ser un tiempo tan pequeño, es muy difícil no cumplirlo al presionar el pulsador. Todo sin código, ni una línea. Esta es la forma hardware.  ¿Pero podríamos realizar un reset controlado con software y lanzarlo si se diera una circunstancia que lo necesitáramos?

Volvemos al campo de la imaginación. Tu prototipo esta creciendo y se esta convirtiendo en un monstruo. Ese inocente proyecto que era al inicio a llegado a un punto que a veces se bloquea y te ves obligado a resetear tu placa. O en un determinado momento del tiempo tenemos la necesidad de reiniciarlo y que vuelva a comenzar.

Para solucionar esto en Arduino vía software tenemos que acudir a una librería de ATmel, los microcontroladores con los que se monta la mayoría de placas de Arduino. La librería que nos lo soluciona se llama wdt.h. Esta librería contiene lo que se denomina watchdog o perro guardián.

Pero antes de utilizar esta librería debemos asegurarnos que podamos utilizarlo con nuestra placa de Arduino. Para ello, el bootloader de nuestra placa tiene que tener previsto el uso de esta librería y por lo tanto de esta funcionalidad. Con el Arduino UNO rev 3 no hay problema.

Si quieres echarle un vistazo a la referencia de esta librería te la dejo aquí. Y vamos ya a echar un vistazo a un código ejemplo de esta librería:

En la función wdt_enable() le podemos pasar estas constantes:

El funcionamiento es muy simple y si lo juntamos con el articulo de controlar los tiempos en Arduino podríamos conseguir que se resetee la placa vía software sin necesidad a que se bloquee, sino en un tiempo determinado que nosotros estimemos y forcemos que el contador llegue a cero a través de la lógica de nuestro programa y por lo tanto se resetee.

¿Quieres montar tu primer proyecto con Arduino?

Con este curso gratuito crearás un Sistema de Riego Automático con Arduino, paso a paso y en sólo una semana.

Si estas interesado en esta librería o en cualquier otra de ATmel envíanos un email a [email protected] y profundizaremos más en estas librerías que, aunque sean desconocidas, son muy interesantes.

 

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Enviar Whatsapp
Hola 👋
¿En qué podemos ayudarte?