En la práctica anterior, empleamos funciones para fijar el color, el sentido y desde donde se iban encendiendo/apagando los LEDs. En esta nueva práctica emplearemos una nueva función para variar cada cuantos LEDs se ilumina uno de ellos, el color y cada cuanto tiempo lo hacen. Además aplicaremos alguna función matemática para fijar el número de repeticiones.
Comenzamos un nuevo proyecto con makecode for microbit añadiendo la extensión Neopixel y fijando la longitud de la tira/barra/anillo de LEDs.
A continuación, creamos una función, a partir de los bloques avanzados, con tres variables:
- Color: color empleado para iluminar los LEDs.
- Salto: cada cuantos LEDs, uno de ellos se va a iluminar.
- Pausa: tiempo en milisegundos entre la iluminación de un LED y el siguiente.
A continuación, indicamos qué es lo que queremos que realicen los LEDs en dicha función. En este ejemplo, se ha empleado bloques similares al de una práctica anterior, para que los LEDs se vayan encendiendo progresivamente a lo largo de la tira o barra sin que se apaguen. Recuerda que en el ejemplo se está empleando una barra de 120 pixeles. Si empleas una barra/tira o anilla con un número diferente de píxeles, será necesario el cambiar el número de repeticiones.
Al igual que en otras prácticas, para que se ejecute la función, debemos llamarla con el comando correspondiente, que encontrarás en los bloques de función. Y lo haremos varias veces, como muestra la imagen. Cambia los valores a tu gusto de forma que obtengas un resultado diferente al mostrado. Recuerda que para hacer que los LEDs se vayan encendiendo en sentido contrario deberás ir alternando el signo de la variable salto.
Cargar el programa creado en la microbit. ¿Qué observas? ¿Parece que se repite alguna secuencia?
¿Se te ocurre como evitarlo? Intenta programarlo sin ver la solución que te proponemos a continuación.
Una de las maneras de solucionarlo puede ser fijando el número de repeticiones a un número igual al resultado de dividir el nº de LEDs de la tira entre el valor del salto. Sin embargo, y puesto que el valor del salto puede ser negativo, debemos usar su valor absoluto, tal y como muestra el código siguiente.
A continuación introduce alguna secuencia más y comprueba cómo le afecta a las secuencias el introducir el comando establecer color de Strip antes del bucle de las repeticiones (dentro de la función creada). ¿Qué cambios observas?¿Cuál de las dos opciones prefieres?
Volviendo a introducir el comando establecer color de strip en su posición original, puedes observar como en cada una de las secuencias creadas, siempre se ilumina el primero de los LEDs (el nº 0). Intenta solucionarlo.
Comentarios
Publicar un comentario