7.1 Reto A01. El led
Vamos a empezar con nuestro primer reto. Vamos a realizar un programa que va a encender y apagar el led rojo correspondiente al pin D12.
Un LED (Diodo Emisor de Luz) es un diodo semiconductor que emite luz. Se usan como indicadores en muchos dispositivos, y cada vez con mucha más frecuencia en iluminación. Los leds presentan muchas ventajas sobre las fuentes de luz incandescente como un consumo de energía mucho menor, mayor tiempo de vida, menor tamaño, gran durabilidad y fiabilidad.
El led tiene una polaridad, un orden de conexión, y al conectarlo al revés no funciona. Para evitar que se queme siempre debe llevar una resistencia en serie para limitar la corriente eléctrica que le atraviesa.
La placa Imagina TDR STEAM dispone de dos leds (uno azul y otro rojo), conectados en los pines D13 (azul) y D12 (rojo).
7.1.1 Reto A01.1. ON/OFF led rojo.
Entramos en ArduinoBlocks en el tipo de proyecto para la placa Imagina TDR STEAM. En la columna de la izquierda tenemos las agrupaciones de bloques clasificados en función de su tipología.
En el área de programación siempre hay dos bloques verdes (Inicializar y Bucle). Estos bloques siempre aparecen al iniciar un nuevo programa. Pues bien, todo lo que se meta dentro del bloque de Inicializar sólo se ejecutará la primera vez que se inicie el programa, mientras que si se colocan dentro del Bucle se ejecutarán una y otra vez hasta que apaguemos la placa.
Seleccionaremos el bloque de TDR STEAM. Vamos a meter nuestro bloque de led en el Bucle y elegimos el color del led (Rojo o Azul). El led puede tener dos estados: ON/OFF (encendido/apagado), que podemos cambiar en el menú despegable.
Si sólo dejamos este bloque con el led en estado ON, este quedaría encendido para siempre, para que se apague deberemos cambiar el estado a OFF.
Pero este programa no es correcto del todo. No hay tiempos que indiquen cuanto tiempo tiene que estar encendido o apagado el led. Necesitamos ir al bloque de Tiempo** y seleccionar Esperar (valor) milisegundos (recuerda: 1.000 milisegundos es 1 segundo).
Ahora tenemos el led encendido durante 1 segundo y apagado otro. Esto ser repetirá por tiempo infinito hasta que quitemos la alimentación a la placa. El programa se quedará guardado en la memoria del microcontrolador, así que, si lo alimentamos con una fuente de alimentación externa, seguirá funcionando.
Actividad de ampliación: prueba ahora de hacer una intermitencia más rápida (500ms ON y 250ms OFF).
7.1.2 Reto A01.2. ON/OFF led rojo y azul
Como hemos comentado anteriormente la placa dispone de dos leds (rojo y azul). Ahora vamos a realizar un programa para que se vayan alternando su encendido y apagado.
Actividad de ampliación: prueba ahora de hacer que los leds rojo y azul se enciendan a la vez y con los siguientes tiempos: 500ms ON y 250ms OFF.
7.1.3 Reto A01.3. ON/OFF led rojo y azul con repeticiones.
Imagina que queremos hacer un ciclo de repetición. Queremos repetir 5 veces el encendido y apagado del led rojo antes de que se encienda el azul. Para realizar esta acción lo podemos hacer de la siguiente forma: en el menú de Control existe el bloque Repetir (valor) veces hacer…
En el siguiente programa fíjate como el led rojo se enciende y apaga cada medio segundo (500ms) 5 veces y después se queda el led azul encendido durante 4 segundos (4000ms).
Actividad de ampliación: prueba ahora de hacer que el led rojo se encienda 10 veces cada vez que el led azul se enciende 3 veces.