P1: El semáforo

Desarrollo de un semáforo de LEDs.

El semáforo

Qué vas a repasar en este proyecto

En este proyecto repasaremos:

  • Conexión entre la placa de desarrollo y el ordenador.
  • Manejo del entorno de desarrollo BatSTEM Cloud.
  • Control de LEDs externos desde la placa de desarrollo.
  • Bloques de control de LEDs y de espera.

Requisitos previos

Este proyecto pone en práctica los conceptos aprendidos en las lecciones L1: Mi primer proyecto, L2: El diodo LED y L3: El diodo LED (2).

Enunciado

Empleando todo lo que hemos aprendido en las lecciones anteriores, vamos a construir un semáforo con diodos LED. Nuestro semáforo tendrá 3 colores: rojo, amarillo y verde. Usaremos para ello 3 LEDs, uno de cada uno de los 3 colores. Tenderemos que colocar en la placa de prototipos los tres LEDs junto con los dispositivos adicionales que creamos necesarios y desarrollaremos un programa que hará que se enciendan con la siguiente secuencia:

  • Verde durante 10 segundos.
  • Amarillo durante 2 segundos.
  • Rojo durante 10 segundos.

Pistas

Piensa en primer lugar qué materiales vas a necesitar e intenta hacerte un esquema mental de cómo vas a conectarlos. Después piensa qué tipos de bloques vas a usar para encender y apagar LEDs y para esperar un tiempo determinado.

Consulta estas pistas sólo si te hace falta. ¡Primero inténtalo sin mirar!

Ver pistas

Solución

Ver solución

Descripción general

Para construir nuestro semáforo tendremos que conectar los 3 LEDs a la placa de desarrollo, cada uno de ellos a un pin GPIO diferente. Tendremos que conectarlos junto con una resistencia de protección de la misma manera que hicimos en las lecciones L2 y L3. Después, tendremos que usar los bloques de definición y control de LEDs y los de espera para manejarlos según la secuencia propuesta.

Puedes elegir los pines GPIO que prefieras. Para esta solución hemos elegido el GPIO18 para el LED rojo, el GPIO5 para el amarillo y el GPIO4 para el verde.

Materiales

  • Placa de desarrollo.
  • Placa de prototipos.
  • Cable de conexión USB.
  • LED rojo.
  • LED amarillo.
  • LED verde.
  • 3x resistencias de 100 Ohms.
  • Cables de conexión.

Esquema electrónico

El diagrama electrónico del circuito a realizar es el que puedes ver en la siguiente imagen.


Esquema electrónico del semáforo

Puedes ver que cada uno de los LEDs lleva su propia resistencia de protección. Vamos a colocar las resistencias entre el ánodo de los LEDs y el pin GPIO correspondiente. El cátodo de los LEDs va conectado a GND.

Diagrama de conexión


Conexión de los componentes en la placa de prototipos

Conecta los componentes siguiendo el diagrama. Presta atención a los siguientes detalles:

  • Conectamos con un cable el pin GND de la placa de desarrollo con la línea azul de la placa de prototipos. La línea azul será nuestra línea de 0 voltios, referencia o GND.
  • Los tres cables de colores rojo, verde y amarillo se conectan a tres líneas distintas de la placa de prototipos. En esas mismas líneas colocaremos uno de los terminales de las resistencias de protección.
  • El otro terminal de las resistencias lo colocaremos en líneas del otro bloque de conexiones. En esas mismas líneas colocaremos los ánodos de los LEDs.
  • Los cátodos de los LEDs los conectaremos con cables a la línea azul de GND.

Código


Bloques del programa del semáforo

Construye el programa siguiendo el diagrama. Presta atención a lo siguiente:

  • En el bloque de configuración definimos los tres dispositivos de tipo LED, les asignamos nombres y especificamos a qué pin GPIO están conectados. Asegúrate de especificar correctamente el pin. Si necesitas recordar para qué sirve el bloque de configuración, consulta la Lección 1.
  • En el bucle principal añadimos bloques para controlar la secuencia del semáforo. Esta secuencia será la siguiente:
    • Encender LED verde.
    • Esperar 10 segundos.
    • Apagar LED verde y encender LED amarillo.
    • Esperar 2 segundos.
    • Apagar LED amarillo y encender LED rojo.
    • Esperar 10 segundos.
    • Apagar LED rojo.
  • Tras apagarse el LED rojo, el bucle se ejecutará de nuevo desde el principio, encendiendo el LED verde y reiniciando la secuencia.

Pulsa en el botón Ejecutar para compilar y cargar tu programa en la placa de desarrollo. Si todo ha ido bien verás tu semáforo funcionando.

Semáforo funcionando (velocidad 2x)