Skip to main content

Lucípeto y Giróvago

Lucípeto...

Muñoz (2023) presenta un código muy simple para que Cutebot detecte se mueva hacia las fuentes de luz, al igual que un insecto.

El código combina la lectura del sensor de luz de la placa micro:bit con los bloques de control de velocidad de los motores de CuteBot. Cuando el nivel de luz medido es muy bajo, el robot enciende las luces frontales con color rojo y gira sobre sí mismo buscando una fuente de luz lo suficientemente intensa. El giro se consigue moviendo las dos ruedas a la misma velocidad, pero en sentidos contrarios.

Cuando el sensor detecta suficiente luz, las dos ruedas pasan a girar a la misma velocidad, por lo que Cutebot avanza en línea recta hacia la fuente de luz. Adicionalmente, se encienden las luces frontales con luz blanca.

Lucípeto.png

...y Giróvago

Vamos a convertir Cutebot en un spinner activado por un sonido fuerte, como una palmada. El spinner girará sobre sí mismo reduciendo paulatinamente su velocidad hasta pararse.

El código utilizado es el siguiente:

Giro00.png

Esta vez introduciremos el código que hace girar al robot dentro del evento al detectar el sonido alto, disponible en el menú Entrada.

Necesitamos una variable, que llamaremos velocidad, para guardar el valor de la velocidad de las ruedas, que irá disminuyendo progresivamente, al igual que en un spinner; esta variable debe ser creada previamente pulsando sobre el menú Variables.

Giro01.png

Cuando micro:bit detecte un sonido fuerte, se activará el evento al detectar el sonido alto y haremos que la variable velocidad tometomará al azar un valor inicial entre el 30% el 50%.

Seguidamente se iniciará un bucle mientras que mantendrá girando el robot durante 500 mS en cada iteración. La rueda derecha se moverá hacia adelante a velocidad y la rueda izquierda se moverá hacia atrás a -velocidad.

Transcurridos 500 mS, se restará 1 a la variable velocidad. Mientras la velocidad sea mayor que 10, el bucle mientras se ejecutarávolverá a ejecutar y Cutebot se mantendrá girando, aunque cada vez a menor velocidad.

Cuando la velocidad sea igual o menor que 10, saldremosla ejecución saldrá del bucle mientras y pararemosparará los motores.

Añadamos ahora al nuestro spinner efectos de luces con los LED colocados bajo la placa y con los bloques de la biblioteca Neopixel. En primer lugar lugar hay que inicializar los LED:

Giro02.png

Fijar strip es un bloque que se encuentra en Neopixel. Strip es la variable con la que nos refirimos a las luces colocadas bajo la placa de Cutebot, P15 es el puerto correspondiente a las luces y 2 es el número total de luces a controlar.

Los LED RGB generan cada color gracias a la mezcla de tres luces, cada una de ellas correspondiente a uno de los tres colores primarios: rojo, verde y azul.

En cada ejecución del bucle mientras vamos a encender los dos LED de la variable strip con un color que será la mezcla de tres colores rojo, verde y azul, generados cada uno de ellos con intensidades aleatorias, desde 0 (valor mínimo) hasta 255 (valor máximo).

Giro03.png

Al salir del bucle mientras es preciso apagar los LED mediante el bloque strip clear.