Este contenido es un complemento práctico para los contenidos teóricos de los temas 4. Fundamentos de Computación Física, 5. Internet de las Cosas y 6. Robótica, de la asignatura Computación y Robótica de 2º y 3º de ESO.
🛠️ Materiales:
- 1 x Placa Arduino.
- 1 x Protoboard.
- 1 x LED.
- 1 x Pulsador.
- 1 x Resistencia de 220 ohmios.
- 1 x Resistencia de 10.000 ohmios.
- 7 x Cable Dupont macho-macho.
En este otro proyecto vamos a aprender a utilizar dos elementos nuevos, el pulsador y el monitor serie.
Todo entorno de programación que se precie dispone de lo que llamamos la Consola, que es un espacio que nos permite, entre otras cosas, mostrar información sobre algún elemento de nuestro interés. Esta consola en el caso de Arduino se llama monitor serial.
De esta manera, podemos hacer que mientras nuestro programa se está ejecutando vaya enviando información al monitor serial para nosotros poder comprobar por ejemplo qué color hemos enviado al LED, qué valor está usando un potenciómetro o qué cantidad de voltaje estamos enviando a un zumbador. Incluso podemos hacer lo contrario, podemos usar el monitor serial para introducir datos en el circuito.
Desde el punto de vista del programador, nos facilita mucho la tarea, porque nos ayuda a explicarnos qué está pasando en nuestro circuito.
Piensa en el monitor serial como en el cable que nos permite comunicar el ordenador con la placa Arduino y viceversa.
En nuestro Arduino IDE podemos acceder al Monitor Serie activando este icono:

Se nos abrirá una ventana que tiene este aspecto, que será donde irán apareciendo los mensajes que vayamos enviando desde nuestro programa:

Igualmente, podemos acceder al monitor serial en TinkerCad pulsando en Monitor en serie que verás en la parte de abajo de tu código:

Para enviar información al monitor serie en Tinkercad, podemos programar una prueba como esta:

Esto nos será de gran ayuda en nuestros proyectos para saber qué está ocurriendo con los componentes que nos interesen.
Ahora, lo que vamos a hacer es aprender a usar un pulsador, como este:

Verás que tiene 4 patillas, y si vas recorriendo con el ratón cada una de ellas, aparecerán sus respectivas etiquetas. Las dos de la izquierda se llaman: Terminal 1a (la de abajo) y Terminal 1b (la de arriba). Igualmente, las dos de la derecha se llaman Terminal 2a (la de abajo) y Terminal 2b (la de arriba).
Esto es así, porque el pulsador funciona de forma parecida a un interruptor. Las dos terminales 1 están conectadas entre sí, y las dos terminales 2 también. Pero las terminales 1 y 2 están desconectadas. Cuando el botón se pulsa, se cierra el circuito y tanto los terminales 1 como 2 se conectan entre ellos.
Observa este circuito, que enciende un LED cuando se pulsa el botón:

Aquí, tenemos dos circuitos independientes, el del LED por un lado y el del pulsador por el otro. Lo que haremos será comprobar con código si el botón está pulsado o no, y encenderemos con código el LED o lo apagaremos.
El funcionamiento del LED ya lo conoces a la perfección, así que nos centraremos en el pulsador.
Cuando se conecta Arduino con el cable USB, la corriente circularía por el pin de 5V hacia el pulsador. Pero como las dos patillas de la derecha no están conectadas con las de la izquierda, la corriente no puede circular. No pasa nada.
Cuando se pulsa el botón, las dos patillas de la derecha se conectan con las de la izquierda, así circula la corriente y tenemos una señal en el pin digital de entrada 2 que podemos comprobar para encender o apagar el LED enviando una señal al pin digital de salida 12.
¿Y por qué usamos esa resistencia de 10KΩ? Esto es más complejo de explicar, pero lo vamos a intentar.
Como ya sabes, las dos patillas de la izquierda del pulsador, están permanentemente conectadas, y además las tenemos conectadas al pin 2. Cuando el pulsador no está activo, al pin 2 no estamos mandando ni una señal de ALTA, ni una señal de BAJA, por lo que el LED podría comportarse de manera inesperada. Incluir esa resistencia garantiza que cuando no esté pulsado, esté recibiendo una señal de BAJA. Pero, cuando se activa el pulsador, ¿no se generaría un corto? Podría pensarse que si, pero la corriente, por principios físicos, tiende a fluir por el camino que tenga menos resistencia. De esta manera, cuando el pulsador no esté activo, la placa sabrá que hay corriente negativa en el pin 2. Y cuando se active el pulsador, tomará el camino de menor resistencia, es decir, no tomará el camino de su patilla inferior izquierda, sino de la superior izquierda.
Sabiendo cómo funciona el montaje eléctrico, el código asociado a nuestra solución sería algo tan sencillo como esto:

La modificación que te propongo es similar a lo que sucede cuando se pulsa el botón de un semáforo. Debes tener dos LED, uno verde y otro rojo. El LED estará inicialmente encendido fijo. Cuando se detecte una pulsación del botón, el LED verde debe parpadear dos veces en secuencias de 1s, y luego apagarse y encenderse el rojo durante 5s. Y así, debe funcionar para siempre. Además, en el monitor serie debe aparecer un mensaje para el peatón: «Puedes pasar» o «No puedes pasar».