Páginas

Extensión para entradas Pull-Up

En Arduino podemos configurar los pines de la placa como entradas, como salidas y como entradas pull up. Son muchos los circuitos en los que necesitamos introducir un pulsador y sabemos que estos deben implementarse sumándole una R que pude estar en configuración Pull-Up o Pull-Down.

Esta resistencia en la configuración de Pull-Up (o Pull-Down) es un elemento que evita un cortocircuito que ocurriría al ser presionado un pulsador o interruptor conectando la parte en la que tenemos tensión directamente a masa. Como la impedancia de un pin de entrada digital de las placas Arduino suele ser de 1MΩ y la norma dice que usemos una resistencia 10 veces menor, usamos una R =10KΩ que nos proporcionará un consumo despreciable y a la vez una corriente suficiente (0,5mA) para que reaccione el chip de la placa (supone una potencia de 2,5mW).

Un pulsador implementado en una configuración Pull-Up, funciona de la siguiente forma: (ver siguiente imagen):

  • Si no pulsamos el pulsador, en el pin de entrada de la placa Arduino tendríamos 5V, es decir, un 1 lógico.
  • Si pulsamos el pulsador, en el pin de entrada de la placa Arduino tendríamos 0V, es decir, un 0 lógico.

Funcionamiento de un pulsador Pull-Up

Pero, lo más importante de todo esto radica en que, el microcontrolador ATmega de las placas Arduino tienen acopladas internamente unas resistencias Pull-Up y estas se pueden usar. Para ello hay que decirle a nuestro microcontrolador a través del software que la entrada en un pin determinado de la placa es una entrada INPUT_PULLUP. En la siguiente imagen se está utilizando una R interna del microcontrolador en configuración Pull-Up.

Conexionado y código arduino. Susana Oubiña Falcón (CC-BY)

Si nos fijamos en mBlock5, el software no disponemos de un comando específico para estas entradas pull-up. Por lo tanto, tenemos dos opciones:

  • Implementar la R pull-up en nuestro circuito (usando una R de 10KΩ) y usar los comandos que dispone mBlock5 para una entrada normal: por ejemplo, el siguiente programa encendería el led 13 de la placa arduino uno cuando presionemos un pulsador conectado a una entrada pin 2.

    Ejemplo con código. Susana Oubiña Falcón (CC-BY)

  • O diseñar nuestra propia extensión para configurar este tipo de entradas. 
Esta extensión presenta un único comando: la verdad es que es más que suficiente

Comando de la extensión Pull_Up. Susana Oubiña Falcón (CC-BY)

Para una placa Arduino Uno, podemos probar el siguiente ejemplo:

Ejemplo de activación de un pulsador Pull-Up en el pin 2. Susana Oubiña Falcón (CC-BY)

Fijaros en el código Arduino de la derecha:
Programa con código arduino. Susana Oubiña Falcón (CC-BY)

 
Lo comprobamos con nuestro circuito. En las siguientes imágenes observamos que funciona correctamente:
Pulsadores en acción. Susana Oubiña Falcón (CC-BY)




No hay comentarios:

Publicar un comentario