LED rgb
CRUCE DE SEMÁFOROS
Utilizando los 4 LEDs disponibles, programamos 2 semáforos que regulan el tráfico de un cruce de calles
LED RGB: CRUCE DE SEMÁFOROS
La placa Echidna incluye 3 LEDS:
Pin 13 – Led rojo
Pin 12 – Led naranja
Pin 11 – Led verde
Además dispone de un LED RGB conectado a los siguientes piunes:
Pin 5 – Luz verde
Pin 6 – Luz azul
Pin 9 – Luz roja
Vamos a realizar un programa para regular el tráfico en un cruce de calles utilizando dos semáforos.
El primer semáforo estará formado por los LEDs rojo, naranja y verde conectados a los pines 13, 12 y 11.
El segundo semáforo estará formado por el LED RGB. Este LED combina distintas intensidades de luz rojo, verde y azul, dando lugar a luces de colores muy variados. El led RGB está conectado a 3 pines PWM (5, 6 y 9) y aceptan señales entre 0 y 255. Así podemos variar la intensidad de luz roja verde
y azul que se van a mezclar.
¿CÓMO FUNCIONA UN CRUCE DE SEMÁFOROS?
Para realizar esta actividad, utilizamos dos procesos que se ejecutarán de forma paralela. Cada uno visualiza el proceso correspondiente a cada semáforo.
Pulsa en la pestaña correspondiente al sistema de programación que vayas a utilizar para acceder a la explicación correspondiente
Te recordamos el proceso de instalación y configuración para trabajar con Echidna Scratch aquí.
SEMÁFORO 1
1. Evento
Cualquier programa que realicemos debe comenzar con un evento. En este caso utilizaremos el evento «al hacer clic en bandera«. Pulsa en eventos, selecciona el bloque «al hacer clic en bandera» y arrástralo a la derecha.
2. Encender y apagar LEDs
A continuación, localizamos el bloque para encender y apagar el LED. Pulsa en el icono Echidna (erizo naranja) y localiza el bloque «encender el led rojo». Arrástralo 6 veces a la zona de programación, y modifica los bloques para que se enciendan y apaguen siguiendo el orden verde – naranja – rojo
3. Pausa
Introduce una breve pausa debajo de cada bloque encender. De esta forma le indicamos cuánto tiempo va a mantenerse un LED encendido. Observa la animación en scratch que hay al inicio de la actividad, el led rojo se debe mantener encendido un tiempo mayor a los leds amarillo y verde. Ten en cuenta que el tiempo que el led rojo está encendido, el otro semáforo debe encender y apagar los leds verde y amarillo (con sus correspondientes esperas). Si para el led verde y amarillo, asignas un segundo de espera, para el led rojo tendrás que asignar la suma de ambas esperas (2 segundos).
4. Bucle infinito
El semáforo debe estar ejecutando su código de forma continuada, es decir, nunca deja de realizar su secuencia de luces. Para conseguir este efecto, tenemos que introducir el programa en un bucle infinito. Para ello utilizamos el bloque «por siempre«. Pulsa en control y arrastra el bloque «por siempre» debajo del evento «al hacer clic en bandera». Todos los bloques se insertarán dentro del bucle «por siempre». Este bucle se encargará de repetir el programa un número de veces infinito.
SEMÁFORO 2
El segundo semáforo debe estar coordinado con el primero. Si el primer semáforo comenzaba su secuencia en color verde, este segundo semáforo comenzará en rojo. Para que no se produzcan choques en el cruce, los semáforos realizan las siguientes secuencias:
SEMÁFORO 1 | SEMÁFORO 2 |
VERDE | ROJO |
NARANJA | ROJO |
ROJO | VERDE |
ROJO | AMARILLO |
El semáforo 2 lo representamos con el LED RGB utilizando los siguientes bloques:
ROJO | |
VERDE | |
AMARILLO |
En este segundo semáforo no necesitamos bloques que apaguen el LED porque generamos directamente el cambio de color con el mismo bloque.
5. Ejecutar
Para comprobar que el programa funciona correctamente, pulsa en el icono de la bandera (arriba a la derecha).
Te recordamos el proceso de instalación y configuración de para trabajar con Snap 4 Arduino aquí.
SEMÁFORO 1
1. Evento
Cualquier programa que realicemos debe comenzar con un evento. En este caso utilizaremos el evento «cuando se pulse bandera«. Pulsa en control (bloques naranjas), selecciona el bloque «cuando se pulse bandera» y arrástralo a la derecha (área de programación).
2. Encender y apagar LED
A continuación, localizamos el bloque para encender y apagar el LED. Pulsa en el icono verde Arduino y localiza el bloque «Fija el led … ». Arrástralo 6 veces a la zona de programación, y modifica los bloques para que se enciendan y apaguen los leds siguiendo el orden verde – naranja – rojo.
3. Pausa
Introduce una breve pausa debajo de cada bloque encender. De esta forma le indicamos cuánto tiempo va a mantenerse un LED encendido. Observa la animación en scratch que hay al inicio de la actividad, el led rojo se debe mantener encendido un tiempo mayor a los leds amarillo y verde. Ten en cuenta que el tiempo que el led rojo está encendido, el otro semáforo debe encender y apagar los leds verde y amarillo (con sus correspondientes esperas). Si para el led verde y amarillo, asignas un segundo de espera, para el led rojo tendrás que asignar la suma de ambas esperas (2 segundos).
4. Bucle infinito
El semáforo debe estar ejecutando su código de forma continuada, es decir, nunca deja de realizar su secuencia de luces. Para conseguir este efecto, tenemos que introducir el programa en un bucle infinito. Para ello utilizamos el bloque «por siempre». Pulsa en control y arrastra el bloque «por siempre» debajo del evento «cuando se pulse bandera». Todos los bloques se insertarán dentro del bucle «por siempre». Este bucle se encargará de repetir el programa un número de veces infinito.
SEMÁFORO 2
El segundo semáforo debe estar coordinado con el primero. Si el primer semáforo comenzaba su secuencia en color verde, este segundo semáforo comenzará en rojo. Para que no se produzcan choques en el cruce, los semáforos realizan las siguientes secuencias:
SEMÁFORO 1 | SEMÁFORO 2 |
VERDE | ROJO |
NARANJA | ROJO |
ROJO | VERDE |
ROJO | AMARILLO |
El semáforo 2 lo representamos con el LED RGB utilizando los siguientes bloques:
ROJO | |
VERDE | |
AMARILLO |
5. Ejecutar
Para comprobar que el programa funciona correctamente, pulsa en el icono de la bandera (arriba a la derecha).
Te recordamos el proceso de instalación y configuración para trabajar con mBlock aquí.
Este ejercicio lo realizamos con la placa en modo no autónomo: «en vivo»
SEMÁFORO 1
1. Evento
Cualquier programa que realicemos debe comenzar con un evento. En este caso utilizaremos el evento «cuando clic en bandera«. Pulsa en eventos (bloques naranjas), selecciona el bloque «cuando clic en bandera» y arrástralo a la derecha (área de programación).
2. Encender y apagar LED
Los leds son componentes digitales que pueden tomar dos valores: encendido (alto) o apagado (bajo). Están conectados a los siguientes pines:
Pin 13 – Led rojo
Pin 12 – Led naranja
Pin 11 – Led verde
Puedes comprobarlo en la serigrafía de la placa, junto a cada led.
Pulsa en pin (círculo azul) y busca el bloque «fija salida del pin digital 9 en alto». Arrastra el bloque 6 veces a la zona de programación, y modifica los bloques para que se enciendan y apaguen los leds siguiendo el orden verde – naranja – rojo.
3. Pausa
Introduce una breve pausa debajo de cada bloque encender. De esta forma le indicamos cuánto tiempo va a mantenerse un LED encendido. Observa la animación en scratch que hay al inicio de la actividad, el led rojo se debe mantener encendido un tiempo mayor a los leds amarillo y verde. Ten en cuenta que el tiempo que el led rojo está encendido, el otro semáforo debe encender y apagar los leds verde y amarillo (con sus correspondientes esperas). Si para el led verde y amarillo, asignas un segundo de espera, para el led rojo tendrás que asignar la suma de ambas esperas (2 segundos).
4. Bucle infinito
El semáforo debe estar ejecutando su código de forma continuada, es decir, nunca deja de realizar su secuencia de luces. Para conseguir este efecto, tenemos que introducir el programa en un bucle infinito. Para ello utilizamos el bloque «para siempre«. Pulsa en control y arrastra el bloque «para siempre» debajo del evento «al hacer clic en bandera». Todos los bloques se insertarán dentro del bucle «para siempre». Este bucle se encargará de repetir el programa un número de veces infinito.
SEMÁFORO 2
El segundo semáforo debe estar coordinado con el primero. Si el primer semáforo comenzaba su secuencia en color verde, este segundo semáforo comenzará en rojo. Para que no se produzcan choques en el cruce, los semáforos realizan las siguientes secuencias:
SEMÁFORO 1 | SEMÁFORO 2 |
VERDE | ROJO |
NARANJA | ROJO |
ROJO | VERDE |
ROJO | AMARILLO |
El semáforo 2 lo representamos con el LED RGB utilizando los siguientes bloques:
ROJO | |
VERDE | |
AMARILLO |
5. Ejecutar
Para comprobar que el programa funciona correctamente, pulsa en el icono de la bandera (abajo a la izquierda).
El LEDs RGB está conectado a pines de tipo PWM. Debemos definirlos como pines de salida.
Para indicar las distintas intensidades de luz rojo, verde o azul que vamos a vosualizar utilizamos la instrucción:
analogWrite(pin, número);
donde número será un valor de 0 a 255.
En este caso encendemos y apagamos los leds de los semáforos intercalando las instrucciones, en un programa secuencial. Creamos variables para guardar el número de pin de cada led y facilitar su identificación con respecto al color.
Recuerda respetar las mayúsculas y minúsculas para evitar errores de compilación.
Una vez escrito el programa, vamos a cargarlo en la placa pulsando en el icono «subir».
Si todo va bien, en la pantalla, abajo, aparecerá un mensaje indicando que el proceso ha finalizado correctamente.