Descripción de la actividad
Montaje y programación de un Sparkle que cambia de color controlado por una LDR.
- Controlador Crumble
- Un Sparkle
- Una LDR
- Un portapilas de 3xAA (R6), preferiblemente con interruptor
- Cables de conexines con pinzas cocodrilo
Programa
Este programa nos permitirá controlar el cambio de color de un Sparkle, utilizando valores extraidos de una LDR.
Lo primero que tenemos que hacer es utilizar un condicional [ if then else end if ], con el que cambiaremos el color del Sparkle según el valor que tome de la LDR.
Continuaremos definiendo el color del Sparkle. Para ello seleccionaremos el bloque [ set Sparkle 0 COLOR ] y lo colocaremos dentro de la parte condicional «if». Haremos lo mismo con otro bloque [ set Sparkle 0 COLOR ], al que pondremos un color distinto, en la parte «else». Poniendo un color diferente en cada bloque seremos capaces de distinguir el momento en el que se produzca el cambio.
Lo siguiente que debemos saber es si una LDR se conecta a una entrada analógica o digital. Como puede tomar valores entre 0 y 255, diremos que es un sensor analógico.
Si hacemos clic en la sección “Input/Output” de nuestro entorno de programación, veremos la sentencia [ ANALOGUE A ]. Pulsando sobre la A, podremos cambiar a cualquiera de las cuatro entradas que tiene nuestro controlador.
Como nuestro objetivo es que el Sparkle cambie de color, lo siguiente que haremos será cliquear en la sección “Operators” de nuestro entorno de programación y seleccionar la sentencia [ menor que ]. A un lado de la variable [ menor que ] colocaremos la sentencia analógica [ ANALOGUE A ], que ya tomamos antes. Al otro lado modificaremos el valor “0” por un valor medio de “175” (por ejemplo), y concluiremos introduciendo todo este bloque en el [ if else ] que teníamos anteriormente.
Este paso permite que el color del Sparkle varíe dependiendo de si el valor de nuestra LDR es mayor o menor a nuestro valor medio. Si es mayor, veremos uno de los colores que hemos elegido, y sino lo es, se encenderá el otro color elegido.
Por último, como queremos que se comprueben constantemente los valores está tomando la LDR, añadiremos un bucle infinito [ do forever loop ]. Si no ponemos el bloque
[ do forever loop ] solo tomará el primer valor que reciba, por lo que no podrá cambiar al no realizar una comprobación continua.
El resultado se muestra en la imagen del programa.
Ejercicio 5