Programación de un selector de color con Raspberry PI
y Scratch
Índice
Resumen.................................................................................................................................2
Material necesario..................................................................................................................2
Esquema de montaje..............................................................................................................2
Conexiones.............................................................................................................................3
Programación SCRATCH..........................................................................................................4
Reto 1.....................................................................................................................................7
Esquema de montaje.........................................................................................................7
Conexiones.........................................................................................................................7
Reto 2.....................................................................................................................................9
Plan de Alfabetización Tecnológica de Extremadura 1
Resumen
El selector de color que vamos a construir se trata de una serie de LED, cuatro en nuestro
caso, que se irán iluminando secuencialmente hasta que finalmente solo quede uno
encendido de forma aleatoria.
El objetivo de este ejercicio es aprender a utilizar los LED y las resistencias.
Como retos, se propondrá la utilización de un botón para iniciar el ciclo de selección de
color. Otro reto propuesto será el aumento de la velocidad de los LED a medida que se van
desplazando secuencialmente.
Material necesario
• 4 LED (Rojo, verde, amarillo y blanco)
• 4 Resistencias de 220 Ohm
• Cables para realizar las conexiones
Esquema de montaje
Plan de Alfabetización Tecnológica de Extremadura 2
Conexiones
LED: cada uno tiene dos patas, una corta (negativo) y otra larga (positivo). Habrá que conectarla de la
siguiente manera:
• NEGATIVO: va directamente al GND (tierra) de la Raspberry Pi. Según la siguiente imagen,
podemos conectarlo a los GPIO número 6, 9, 14, 20, 25, 30, 34 y 39. La mejor elección es
conectar todos los negativos al bus de negativos de la Protoboard y de ahí, con un cable, conectar
a cualquier pin de tierra de la Raspberry Pi.
• POSITIVO: cada pin se conectará a una entrada GPIO diferente de la Raspberry Pi. Por medio,
debemos insertar una resistencia para que el LED reciba la intensidad adecuada y no se funda.
Según el esquema, conectaremos cada LED a los GPIO 2, 3, 4 y 17
Plan de Alfabetización Tecnológica de Extremadura 3
Programación SCRATCH
Para la programación de bloques con Scratch, utilizaremos la aplicación que viene instalada en Raspbian.
Ahora necesitamos acceder a los bloques para programar los pines GPIO de la Raspberry. Dentro de la
lista de bloques escogemos Más bloques (More Blocks) y seleccionamos Añadir una
extensión (Add an Extension):
En la nueva ventana seleccionamos Pi GPIO
Y ya tendremos disponibles los bloques para controlar los pines GPIO
Plan de Alfabetización Tecnológica de Extremadura 4
Lo primero que haremos será crear una variable y asignarle un valor aleatorio entre 1 y 4, que serán los
LED de los que disponemos.
A continuación, pondremos todos los valores de las entradas de los LED a “low” y esperaremos 3
segundos antes de comenzar con la secuencia de movimientos de LEDs.
El siguiente paso es crear un bloque creado por nosotros mismos, al que llamaremos “barajar” y que será
el contenga la secuencia en encendido y apagado de LEDs a modo se simular la elección de un color.
Este bloque lo que hará será una repetición de 20 veces el ir encendiendo un LED, esperar 0.1 segundo y
apagarlo y a continuación encender el siguiente.
Una vez finalizada esta repetición, esperamos 1 segundo con las luces apagadas y finalmente llamaremos
al bloque “mostrarEleccion” pasándole como parámetro el número de LED elegido inicialmente al azar.
Plan de Alfabetización Tecnológica de Extremadura 5
El bloque “mostrarEleccion” se encarga de mostrar el LED que inicialmente se eligió de forma aleatoria. Se
harán 4 comprobaciones (bloques Si...ENTONCES) para comprobar si el LED elegido corresponde con el 1, 2,
3 ó 4. Dentro de cada bucle SI, repetiremos 10 veces el encender y apagar el LED seleccionado, para que, al
final, lo dejemos encendido como LED elegido al azar.
Plan de Alfabetización Tecnológica de Extremadura 6
Reto 1
Como primer reto, proponemos insertar un botón al circuito, de tal forma que al pulsar
sobre éste, comience la secuencia de selección del color.
Esquema de montaje
Conexiones
Los botones o pulsadores tienen 4 patas, de las que sólo utilizaremos 2 y se conectarán
según es esquema de montaje de la imagen anterior. Una de las patas la conectaremos
directamente al pin GPIO de 3.3 o 5 Voltios de la Raspberry Pi y la otra pata, irá al GPIO
número 20 (puede ser otro). Por medio, insertaremos una resistencia de 220 Ohmios, de
nuevo, para no quemar el botón o pulsador.
El funcionamiento del botón es el siguiente:
• Por defecto, el pulsador siempre tiene cortado el paso de electricidad. A esta
posición se le llama “low”
• Cuando pulsamos sobre el botón, éste pasa al estado “high” en el cual, pasa la
electricidad.
Plan de Alfabetización Tecnológica de Extremadura 7
Sobre los bloques de programación anteriores, tendremos que introducir el siguiente
bloque al pulsar sobre la bandera:
En este caso, siempre estaremos atentos al estado del pulsador. Si éste pasa al estado de
“high” o pulsado, comenzaremos con el proceso de selección del color. Seleccionaremos
un número al azar y encenderemos los 4 LED durante 3 segundos antes de llamar al
bloque “barajar”.
También hay que modificar los bloques de “al presionar la bandera” del ejercicio inicial
para que no se llame a barajar. Tan solo habrá que seleccionar un número al azar
(tampoco sería necesario, ya que se hace al pulsar sobre el botón) y apagar los LEDs.
Plan de Alfabetización Tecnológica de Extremadura 8
Reto 2
El segundo reto sería aumentar la velocidad de los LED a medida que se van desplazando
secuencialmente.
Aquí tan solo habría que modificar los bloques de la sección “barajar” para que a medida
que se finalice cada repetición, el tiempo de espera vaya disminuyendo. Para ello,
crearemos una variable que se llame “velocidad” y se introducirá en la sección “barajar”
de la siguiente forma:
Inicialmente, la variable “velocidad” tendrá un valor de 0.21 y cada vez que finalice una
repetición, restaremos 0.01 al valor de velocidad, pasando a hacer una secuencia de 0.21,
0.20, 0.19, 0.18, etc. Esta variable se introducirá en cada tiempo de espera. De esta forma
reducimos el tiempo que está encendido cada LED.
Plan de Alfabetización Tecnológica de Extremadura 9