Cómo usar un Pulsador con Arduino

Categorías:
Etiquetas:

En el siguiente post entenderemos cómo conectar un pulsador (push button) con Arduino.

El pulsador:

El pulsador o botón es el dispositivo que permite el paso de intensidad cuando es pulsado. Una vez se deja de presionar vuelve a su posición inicial. 

Está formado por cuatro patas o terminales, conectados “dos a dos” como se observa a continuación:

Montaje del pulsador con Arduino:

Pero ¿cómo vamos a montarlo conectado con una placa Arduino? y ¿con qué tipo de señal vamos a trabajar?

Al trabajar con pulsadores trabajamos con señales digitales, no analógicas. Eso significa que la información que va a recibir la placa solo podrá tener dos estados, esto es “sí/no”, “HIGH/LOW”, “1/0”, “5V/0V”, “encendido o apagado”.

En principio podríamos pensar en hacer una conexión directa del pulsador de la siguiente manera: (conectando el pin digital a tierra o a cinco voltios a través del botón).

¿Por qué no funcionaría?

Cuando tuviéramos el pulsador presionado no habría problema tendríamos 0V o 5V. El problema viene cuando no lo está. ¿Qué ocurre? Digamos que el pin digital quedaría totalmente “al aire”, desconectado por completo. Esto es lo que se llama un “estado de alta impedancia”. Lo que ocurre en esta situación es que se produce una indeterminación en el pin digital, es decir, queda sin un estado definido. Algunas veces se leerá HIGH y otras LOW en función de si hay perturbaciones, interferencias, el último estado en el que haya quedado conectado… en definitiva depende de diferentes factores.

¿Cómo podemos solucionarlo?

Con el montaje Pull-up o Pull-down.

Estos montajes fuerzan el valor de tensión a 0 o 5 V en el pin digital en función de si presionamos o no el pulsador.

El montaje PULL-UP: Hace que, sin presionar el pulsador, es decir, sin hacer nada, el pin digital esté en HIGH (5V) porque el pin digital está conectado a 5V a través de la resistencia y cuando presionamos el pulsador, el pin pase a LOW (0V).

El montaje PULL-DOWN: Hace que, sin presionar el pulsador, es decir, sin hacer nada, el pin digital esté en LOW (0V) porque el pin digital está conectado a tierra a través de la resistencia y cuando presionamos el pulsador, el pin pase a HIGH (5V).

La denominación de resistencias pull-down y pull-up hace referencia al montaje, las resistencias en si son resistencias usuales que rondan entre 1K y 10K. Normalmente se utilizan de 4K7 o de 10K. Nosotros hemos escogido 4K7. Con esto acabamos de entender cómo realizar el montaje del botón. Este en la realidad si elegimos pull-up sería el siguiente:

Montaje pull-up de botón con Arduino:

Pero dado las reducidas dimensiones con las que muchas veces nos encontramos en nuestros proyectos, ¿sería posible montar el botón sin tener que realizar el montaje pull-up, es decir, sin tener que utilizar la resistencia de 4700 ohms?

La respuesta es que sí, ya que la placa compatible con Arduino que utilizamos al igual que la placa Arduino Uno, cuenta con resistencias pull-up internas. Esto nos permite ahorrarnos todo el montaje de resistencias pull-up o pull-down.

Estas resistencias pull-up internas se pueden activar en el setup del programa en el IDE de Arduino.

Tenemos dos opciones dentro del setup:

  1. Mediante la instrucción pinMode(pin, INPUT_PULLUP); Con ella declaramos el pin como entrada y activamos su resistencia interna pull-up (HIGH).
  2. Mediante dos instrucciones;
    • pinMode(pin, INPUT);   // declaramos el pin como entrada
    • digitalWrite(pin,HIGH); // forzamos el estado de dicho pin a HIGH.

De esta manera el montaje quedaría así de sencillo:

Al utilizar las resistencias pull-up internas, nos ahorramos tener que hacer el montaje pull-up “externo” y por tanto solo conectamos directamente al pin digital de entrada y a GND. Al presionar el botón dejamos pasar la corriente y ello nos permite cambiar el estado de HIGH a LOW en el pin digital de entrada.

Programación de un pulsador con Arduino:

Vamos a implementar un sencillo programa que hará que al tener presionado el pulsador, muestre por el monitor serie la palabra “pulsado” y cuando no está pulsado muestre “no pulsado”.

En nuestra página encontraréis el proyecto del “Semáforo” con el que podrás ampliar tus conocimientos sobre el uso y montaje de un pulsador con Arduino para activar la secuencia de luces del semáforo. ¡ÉCHALE UN VISTAZO!

IMPORTANTE: OFRECEMOS GRANDES DESCUENTOS PARA CENTROS EDUCATIVOS! SI ERES UN CENTRO EDUCATIVO PIDE PRESUPUESTO PERSONALIZADO AQUÍ

[product_page id=”238″]

Si te ha gustado esta entrada al blog compártela 🙂

Saludos del equipo de InputMakers y ¡Sigue siempre aprendiendo!

Twitter
Facebook
WhatsApp

Deja un comentario