Vamos a utilizar la radio para controlar una coreografía con varias micro:bit, en el ejemplo nos vamos a limitar a mostrar diferentes imágenes en la pantalla, pero podemos adaptarlo fácilmente para que varios maqueen hagan movimiento sincronizados.

Tendremos un maestro que se encargará de enviar las órdenes, según pulsemos el botón A o el B o ambos

Mando

Y varios robots/micro:bit bailarines que al recibir los comandos harán su coreografía

Bailarín coreografía

  • Imagen inicial (una letra) para identificar qué programa tiene cada micro:bit
  • Estamos usando el evento de recibir mensajes para hacer la coreografía
  • Demasiado tiempo de espera que impide la recepción de paquetes que hace que algunas órdenes se pierdan

Hay que tener en cuenta que si «tardamos» en ejecutar el comando que hemos recibido, no se recibirán nuevas órdenes, por ejemplo no poner esperas. Por eso sería mejor que simplemente guardáramos el comando recibido y en lo ejecutáramos en el bucle principal.

Programa Optimizado

Vamos a hacer ahora una versión más optimizada en la que:

  • Usaremos una variable mov para indicar si estamos haciendo la coreografía o no. Cuando recibamos los mensajes cambiaremos su valor
  • Para evitar esperas creamos otra variable paso que nos dice en qué punto de la coreografía estamos. Tras recibir la orden de empezar la coreografía iremos pasando de un paso a otro cada cierto tiempo.
  • En lugar de utilizar el bloque pausa creamos una un función espera que además de esperar vigila si ya se ha detenido la coreografía según el valor de la variable mov

Bailarín optimizado interrumpible

Con este programa podemos interrumpir instantáneamente la coreografía.

Vídeo: Controlando coreografías con varios micro:bit usando la radio

Vídeo: Controlando coreografías con varios micro:bit usando la radio

Controlando coreografías con varios micro:bit usando la radio