Microbit - Scratch

Control de coche mediante comunicación por radio | Building:bit startet kit

En este tutorial aprenderás a crear un programa que permita el envío y la recepción de comandos mediante radio, con el objetivo de controlar el movimiento de un prototipo de carro construido con piezas del kit Building:bit Starter Kit.

Para ello, es importante comprender cómo funcionará el sistema:

Básicamente, necesitarás dos tarjetas micro:bit. Una de ellas actuará como emisor (la encargada de enviar los mensajes) y la otra como receptor (la que recibe las instrucciones).

Además, deberás configurar un grupo o canal de comunicación. Este canal será el medio por el cual se enviarán y recibirán los mensajes. En el programa MakeCode, dentro de la categoría “radio”, puedes seleccionar canales en un rango del 1 al 255.

Nota: El grupo que definas para el emisor debe ser el mismo para el receptor, es decir, si elijes el grupo 10 en el emisor en el receptor deberas colocar el mismo valor, ya que este número indica por donde se estara enviando o recibiendo los datos si los valores varian en ambas micro:bit el mensaje se perdera en el envio.

Claro esto, empezaremos...

Vamos a crear un programa denominado "coche emisor":

En este programa lo que haremos será enviar los comandos que se generaran por gestos a la tarjeta receptora para indicarle que acción debe ejecutar, para ello definiremos lo siguiente:

  • Se enviara el número "1" cuando la tarjeta se encuentre "logo arriba" o "logo up" si queremos que el coche avance.

  • Se enviara el número "2" cuando la tarjeta se encuentre "logo abajo" o "logo down" si queremos que el coche retroceda.

  • Se enviara el número "3" cuando la tarjeta se encuentre "inclinada a la izquierda" o "tilt left" si queremos que el coche gire a la izquierda.

  • Se enviara el número "4" cuando la tarjeta se encuentre "inclinada a la derecha" o "tilt right" si queremos que el coche gire a la derecha.

  • Se enviara el número "5" cuando la tarjeta se encuentre "pantalla abajo" o "screen down" si queremos que el coche se detenga.

Código EMISOR:

Paso 1: Definir el grupo.

Paso 2: Definir cada gesto para el envio de mensajes:

  • Se enviara el número "1" cuando la tarjeta se encuentre "logo arriba" o "logo up" si queremos que el coche avance.

  • Se enviara el número "2" cuando la tarjeta se encuentre "logo abajo" o "logo down" si queremos que el coche retroceda.

  • Se enviara el número "3" cuando la tarjeta se encuentre "inclinada a la izquierda" o "tilt left" si queremos que el coche gire a la izquierda.

  • Se enviara el número "4" cuando la tarjeta se encuentre "inclinada a la derecha" o "tilt right" si queremos que el coche gire a la derecha.

  • Se enviara el número "5" cuando la tarjeta se encuentre "pantalla abajo" o "screen down" si queremos que el coche se detenga.

Código emisor completo:

En este código lo que hacemos en resumen es crear el envio de números de 1 a 5 que son los que esperamos recibir en el receptor para la activación de avanzar, retroceder, girar a la izquierda o derecha y detenerse dependiendo del gesto enviando por el usuario.

Ahora procederemos a crear nuestro....

Código RECEPTOR:

Para el código de receptor, que es donde recibimos nuestra señal y activamos los motores para darle dirección al coche, necesitaremos incluir una extensión especifica de nuestro kit building:bit starter.

Para ello, nos ubicaremos en la categoria "extensions" y copiaremos el siguiente enlace: https://github.com/lzty634158/yahboom_mbit_en

Damos clic en la "lupa" del buscador o "enter" y aparecera la extensión que necesitamos agregar:

La agregamos dando clic y esto nos traera categorias adicionales para el control de nuevas funcionalidades especificas del kit:

Bien, vamos a iniciar a crear nuestro programa.

Paso 1: Definir el grupo.

Nota: Recuerde que aqui se debe colocar el mismo valor definido en el emisor.

Paso 2: Recibir los valores númericos definidos en el emisor.

En este pedazo lo que haremos será que mediante condicionales "if" validaremos el valor recibido e indicaremos la acción a realizar.

Este bloque de código lo que hace es validar el valor recibido y de acuerdo a ese valor se define que acción debe realizar el coche.

Con ello, lo que nos queda es cargar el código emisor en 1 tarjeta y el receptor en la otra tarjeta y realizar las pruebas correspondientes.

Video de prueba: https://www.youtube.com/shorts/_28WDmuyGjE

Mejoras:

Si queremos ver en nuestra micro:bit emisora que mensaje o valor estamos enviando podriamos agregar lo siguiente a nuestro programa de emisor:

Al agregar el bloque "show number" o "mostrar numero" cada ves que la micro:bit se encuentre en alguno de los gestos definidos en el programa mostrar un valor comprendido entre el 1 al 5.

Canal de YouTube

Ver canal

Vistas

2