1. Semáforo

Con componentes de conexión rápida

¿Qué se te viene a la cabeza cuando piensas en la comunicación? ¿Cómo se comunican comúnmente las personas entre sí? 

Ciertamente, la comunicación implica hablar y escuchar, pero también hay otras formas de comunicación. Por ejemplo, las luces y los LEDs a menudo se usan como indicadores visuales en las máquinas para comunicar el estado de la máquina. Los vehículos tienen luces que comunican poco combustible, baja presión de aceite, batería baja y otros problemas del motor. Incluso los semáforos nos indican cuando debemos cruzar una intersección. Todos estos ejemplos, y muchos otros requieren un control preciso del flujo de electricidad en circuito. Este control a menudo lo lleva a cabo un programa de computadora que le dice a las luces cuándo encenderlas o apagarlas.

En esta lección, investigarás cómo los circuitos son operados por microcontroladores como el de tu placa Arduino. Más específicamente, explorarás cómo estos dispositivos pueden usarse como entradas para recopilar información o salidas para realizar una tarea. También explorarás el entorno de programación de Arduino con Bitbloq y cómo se comunica con la placa Arduino. Después de construir un circuito LED, escribirás programas para controlar los LEDs en el circuito, incluido un programa para un semáforo. 

HISTORIA DEL SEMÁFORO

A los inventores, programadores e ingenieros les encanta cuando llega la inspiración. Pero incluso las ideas brillantes rara vez salen bien a la primera. El equipo de Thomas Edison desarrolló más de 1.000 prototipos de la bombilla antes de que su idea de un filamento en una caja de vidrio fuera realmente exitosa. La complicaciones y descuidos deben ser resueltos antes de que una idea funcione según lo previsto. Estos defectos de diseño se llaman bugs (errores).

Un ejemplo trágico de un bug (error) se puede encontrar en el historial del semáforo.

Incluso en la era del caballo y la carroza, era necesario dirigir el tráfico. Un gerente ferroviario británico llamado John Peake Knight creó el semáforo en 1868. A diferencia de los semáforos modernos, el dispositivo fue operado por un oficial de policía que cambiaba el semáforo manualmente. Usó luces de gas para iluminar las palabras en la señalización. Lamentablemente, solo unas pocas semanas después de ser instalado el dispositivo, una fuga de gas causó una explosión que hirió gravemente al oficial.

Durante décadas, los dispositivos fueron considerados demasiado peligrosos para usarse. Pero la idea era demasiado prometedora para ser olvidada y los inventores posteriores crearon variaciones.

En 1910, un estadounidense llamado Ernest Sirrine diseñó el primer semáforo controlado automáticamente. Dos letreros que dicen stop (parar) y proceed (proceder) se mostraban alternativamente. Dos años más tarde, un diseño de Lester Farnsworth Wire reemplazó los letreros por luces rojas y verdes, acercándose a nuestro semáforo moderno. Numerosos inventores crearon variaciones en este concepto. Esto incluyó la adición de una luz amarilla de "precaución" para evitar accidentes causados por el cambio repentino de verde a rojo. 

Se han realizado innumerables otras mejoras en los diseños de los semáforos a lo largo de los años. Trabajar a través de bugs de diseño a menudo puede ser una gran fuente de innovación.

Pero, ¿de dónde vino el término bug en primer lugar? Según sus cartas, parece que proviene de Thomas Edison. Sin embargo, una historia más colorida que rodea el término se centra en la Contralmirante de la Marina Grace Hopper.

Grace Hopper se alistó en la Marina durante la Segunda Guerra Mundial. En su carrera, se convirtió en una de las primeras informáticas del mundo. Trabajó en una computadora electromecánica temprana llamada Mark I, calculando información para operaciones militares. Después de la guerra, ella también trabajó en el sucesor de la computadora, Mark II.

Un día, un mal funcionamiento en Mark II hizo que cesara la operación. El equipo de Hopper investigó y encontró una polilla en uno de los relés eléctricos. El equipo grabó la polilla en una página de su cuaderno de actividades de ingenieros, donde todavía se puede ver en el Museo Nacional Smithsonian de Historia Americana. Este evento fue una depuración literal.

Hopper fue una de las primeras científicas en prever que era posible crear un lenguaje de programación usando palabras en inglés. En consecuencia, desarrolló el primer compilador, un sistema que convirtió el lenguaje humano en lenguaje máquina. Y cuando se creó el lenguaje informático COBOL en 1959, Hopper era asesora. Murió en 1992, pero los informáticos todavía se refieren a ella cariñosamente por sus apodos "Amazing Grace" y "Grandma COBOL".

El funcionamiento de un semáforo antiguo dependía de un policía. Foto: Olle Karlsson via Wikimedia Commons

A. SEMÁFORO BÁSICO

En esta primera parte, conectarás un circuito básico de semáforo con tres LEDs que puedes conectar directamente a la placa. Después de construir el circuito, escribirás un programa y lo cargarás en la placa Arduino para controlar el semáforo.

Montaje del circuito

Ahora tienes un circuito en paralelo completo con tres ramas, una para color de LED. La potencia de cada rama será controlada por los pines digitales en la placa Arduino. Estos pines actuarán como interruptores que activan y desactivan el flujo de corriente.

Guía de programación

Pestaña Hardware de Bitbloq

Pestaña Software. Bucle principal.

ACTIVIDADES

A1

Carga el programa a la placa Arduino y escribe qué ha pasado. ¿Era lo que pensabas que iba a ocurrir? 

Si no coincide con lo que pensabas, indica qué ha cambiado y por qué crees que ha sido diferente.

Considera lo que debe suceder para que tu circuito funcione como un semáforo. Las siguientes preguntas pueden ayudarte a escribir tu código:

A2

Programa tus LEDs para que actúen como un semáforo para controlar el flujo de tráfico en una intersección concurrida. Carga el programa en la placa y comprueba el comportamiento de tu semáforo. ¿Se comporta como te esperabas?

Añade un captura de pantalla de la pestaña software de Bitbloq en esta actividad y un vídeo 🎥 del funcionamiento.  Se recomienda pasarlo a GIF 

B. SEMÁFORO CON BOTÓN PEATONAL

En muchas intersecciones concurridas, los semáforos tienen botones peatonales que las personas que caminan por la acera pueden presionar. Esto permite al semáforo saber que las personas, y no sólo los coches, deben cruzar la calle. En esta actividad, añadirás un botón peatonal a tu circuito. Luego, programarás el semáforo para que funcione de manera diferente cuando se presione el botón.

Montaje del circuito

Conecta un pulsador en el pin 7 siguiendo el esquema propuesto para conexión de componentes. Si no sabes cómo conectar el pulsador puedes revisarlo aquí.

Ahora tienes un circuito en paralelo completo con tres ramas, una para color de LED. La potencia de cada rama será controlada por los pines digitales en la placa Arduino. Estos pines actuarán como interruptores que activan y desactivan el flujo de corriente.

Guía de programación

Creamos una copia del proyecto anterior en Bitbloq o abrimos uno nuevo.

En la pestaña Hardware añadiremos el botón que vamos a emplear para dar paso a los peatones en el semáforo.

Pero....antes de empezar a programar, tenemos que conocer las sentencias condicionales. Supone plantear 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é.

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 el LED se encienda, y no le dices cuando debe apagarse, el LED nunca se apagará. 

Vamos a programar el semáforo para que cambie únicamente a verde cuando un peatón solicite cruzar la calle. 

Habitualmente el semáforo para los vehículos estará en verde y por tanto mantendrá los leds amarillo y rojo apagados.

En la categoría de bloques Control encontrarás el bloque Si…ejecutar.

Cuando se detecte que el botón está pulsado, se pone en marcha el paso a peatones:

Carga el programa en la placa y prueba su funcionamiento.

ACTIVIDADES

B1

Escribe qué ha pasado. ¿Era lo que pensabas que iba a ocurrir? 

Si no coincide con lo que pensabas, indica qué ha cambiado y por qué crees que ha sido diferente.

B2

Añade ahora el semáforo luminoso para los peatones. Tendrás que añadir otro led verde y uno rojo y programar su funcionamiento. 

Añade un captura de pantalla de las pestañas hardware y software de Bitbloq en esta actividad.

B3

¿Cómo podríamos hacer más accesible el semáforo para personas invidentes? ¿Se te ocurre cómo podríamos añadir esta funcionalidad al circuito?

Añade un captura de pantalla de las pestañas hardware y software de Bitbloq en esta actividad.

Realiza un vídeo 🎥 del funcionamiento de la última actividad del reto que hayas conseguido realizar.  Conviértelo a GIF antes de insertarlo en el cuaderno.