(2) Yo controlo

En este reto vamos a aprender a controlar cosas con pulsadores. En nuestra vida diaria estamos rodeados de pulsadores, desde los botones del ascensor a los botones de stop de los autobuses o las teclas del ordenador. Junto con las sentencias condicionales serán de gran utilidad para controlar nuestras máquinas y robots.

¿Qué es un pulsador?

Un pulsador es un elemento de control que nos permite unir (o separar) dos puntos de un circuito cuando los presionamos. Junto con las sentencias condicionales serán de gran utilidad para controlar máquinas y robots. Un pulsador es un sensor digital que al presionarlo se activa (1 o ALTO) y al dejar de pulsarlo se desactiva (0 o BAJO).

CONEXIÓN DE PULSADORES EN ARDUINO

Para evitar conexión "al aire" que pueden introducir valores erróneos en los pines digitales tenemos que conectar una resistencia de 10K entre el pin digital que queremos activiar y GND. Se conocer como conexión pull-down.

La resistencia de Pull-Down fuerza nivel BAJO (0V) el valor en el pin digital cuando el pulsador está abierto. La resistencia de pull-down tendrá un valor entre 1KΩ y 10KΩ

Cuando el botón está pulsado y el circuito se cierra, el PIN se pone a ALTO (5V) , y la intensidad que circula se ve limitada por esta resistencia.

¿Qué es una sentencia condicional?

Una sentencia condicional es plantearse una pregunta para actuar de una forma u otra según la respuesta. Por ejemplo, si llueve, abriré el paraguas. Si por el contrario no llueve, lo cerraré. Si hace frío, me pondré el abrigo. Si hace calor, me lo quitaré. Si es de noche, encenderé una luz. Si por el contrario es de día, la apagaré.

Vamos a programar que el LED se encienda cuando presionamos el pulsador, y que se apague cuando lo soltemos.

En la categoría de bloques Control encontrarás el bloque Si…entonces. Si presionamos nuestro pulsador encenderemos el LED. Recuerda que tu placa controladora nunca hace nada que no le hayas dicho. Hay que programar todo lo que quieras que haga.

Si solo programas que cuando el botón esté pulsado el LED se encienda, y no le dices cuando debe apagarse, el LED nunca se apagará. Por ello el bloque Si…entonces dispone de otra opción más: Si.... entonces, si no....

De esta forma tendremos que decirle que:

  • Si presionamos el pulsador se encienda el LED
  • Si no presionamos el pulsador que se apague el LED.

Esquema de montaje

Guía de programación

Vamos a aprender a controlar un LED utilizando el pulsador. Conecta el LED al pin digital 13 y el pulsador al pin digital 7.

En cambio, si permite añadir más condiciones después de la primera. Un ejemplo: si queremos comer tarta, pero no hay tarta, en cambio sí hay helado también nos vale, ¿verdad? ¡Queremos comer helado! ¡Aunque preferimos la tarta! ¡Eso es muy importante! Solo comeremos helado si NO hay tarta. En el caso de nuestro LED, queremos comprobar si el pulsador está pulsado y vale 1. Si no vale 1 pero en cambio sí vale 0, apagaremos el LED.

ACTIVIDADES

1

Comprueba que al accionar el pulsador se enciende el led. Al soltar el pulsador se apagará el led. Escribe qué ha pasado. ¿Era lo que pensabas que iba a ocurrir?

Si no coincide con lo que pensabas, indica qué ha cambiado y qué has tenido que cambiar para que funcionara.

2

Conecta dos ledes con sus resistencias. Haz un programa para que:

  • Si presionas el botón se encienda el led verde y se apague el rojo.
  • Si sueltas el botón, se apaga el led verde y se enciende el rojo.

¿En algún momento quedan los dos ledes apagados? ¿y encendidos?

3

Crea un "semáforo" de peatones con dos ledes: uno rojo y otro verde.

El programa empieza con el LED rojo encendido. Cuando se pulse el botón, tras una espera de 5 segundos, se apaga el rojo y se enciende el verde. Tras veinte segundos se apaga el verde y vuelve a encender el rojo.

Recuerda que para pasar al siguiente reto debes completar la memoria con las capturas de pantalla del programa y el montaje; y las respuestas a las preguntas de cada actividad.

No es necesario incluir las capturas de pantalla de los programas que vienen en la guía de programación.