BLE Telesketch
Solo para placas con Bluetooth BLE, pantalla TFT y acelerómetro, como la ED1, M5Stack-Core, Co-Cube y otras. También se puede hacer una versión más simple para placas con pantalla LED, como la micro:bit o la micro:STEAMakers.
- El Telesketch, o Etch A Sketch, es un juguete que se popularizó en los años 60 y que permitía dibujar en una pantalla que simulaba un televisor. Tenía dos ruedas que controlaban el movimiento horizontal y vertical del cursor. Para borrar el dibujo, se usaba un botón que limpiaba toda la pantalla.

- En esta actividad construiremos una versión colaborativa del Telesketch aprovechando la posibilidad de conectar varias placas mediante BLE (Bluetooth Low Energy).
Construcción del juego sin conexión
Empezaremos construyendo el juego sin la conexión BLE.
El primer paso es definir dos variables, x e y, para almacenar las coordenadas de un círculo que colocaremos aleatoriamente en la pantalla TFT.
Con el acelerómetro haremos que, al inclinar la placa, el círculo se desplace por la pantalla.
Por ejemplo, cuando la
inclinación x
sea inferior a cierto valor, nos moveremos hacia la izquierda, disminuyendo la coordenada x.
Reto 1: completa el movimiento del círculo
Solución al reto 1
Como será un Telesketch colaborativo, cada participante tendrá su propio color. Para ello, definimos una variable color con un valor aleatorio.
Para evitar que el color sea oscuro y no se vea en la pantalla, utilizamos el bloque
_ con brillo _ %
de la biblioteca Color, ajustándolo el brillo al 90%.
- Para borrar la pantalla, utilizaremos el acelerómetro para detectar un sacudido.
BLE Radio
- Para comunicar las placas entre sí, usaremos la biblioteca BLE Radio. Es necesario tener activado el soporte para BLE en la placa. Si la placa tiene pantalla, al iniciarse mostrará tres letras que son su identificador BLE. También podemos usar el bloque
identificador BLE
de la categoría Entrada para comprobar este valor.
Para activar o desactivar esta opción, debemos ir al icono de opciones
y seleccionar la opción activar o desactivar BLE.
La comunicación por BLE es muy sencilla, no necesita emparejar dispositivos. El alcance está limitado a unos 10 metros.
Para continuar, importamos la biblioteca BLE Radio.
Para enviar un texto, usamos el bloque
envía texto _ por BLE
.Para recibir, necesitamos dos bloques:
¿mensaje BLE recibido?
yúltimo texto recibido por BLE
, dentro de un bloque de repetición.
- El texto enviado lo reciben todas las placas conectadas por BLE Radio, excepto la placa que emite el mensaje.
Enviar y recibir las coordenadas del círculo
- Para enviar las coordenadas, construimos un texto que contenga toda la información utilizando el bloque
une _ _
de la categoría Datos.
- Para recibir las coordenadas, descomponemos el texto recibido con el bloque
divide _ por _
y dibujamos el círculo usando las coordenadas obtenidas.
Reto Final 1: ¡Completa el Telesketch colaborativo!
Solución al reto final
Se ha modificado ligeramente la forma de mostrar el círculo, haciendo un pequeño parpadeo para distinguir cuál es el nuestro.
El envío de datos por BLE es lento y de vez en cuando se puede perder algún mensaje, especialmente si hay muchos dispositivos conectados. Se puede modificar la espera al final del bloque
envía par _=_ por BLE
para que los dibujos recibidos sean más continuos.
- Como se comentó antes, los mensajes BLE los reciben todas las placas. Es posible enviar mensajes a un grupo de placas utilizando el bloque
fija el grupo BLE a _ (0-255)
. Solo las placas del mismo grupo se comunicarán entre sí.
Comunicación con OctoStudio
Para placas con Bluetooth BLE, pantalla LED y acelerómetro, como la ED1, M5Stack-Core, micro:bit, micro:STEAMakers, Co-Cube y otras.
OctoStudio es una aplicación móvil gratuita para programar mediante bloques, desarrollada por los creadores de Scratch en el MIT Media Lab.
Está especialmente diseñada para niños y niñas a partir de 7 años. Hay versiones para Android y iPhone, y a diferencia de App Inventor, no genera aplicaciones independientes.
Uno de los aspectos interesantes de OctoStudio es que incluye un método de comunicación entre dispositivos, muy similar a BLE Radio, que hemos visto anteriormente.
- Solo se pueden enviar ocho figuras diferentes, más que suficiente para muchas aplicaciones sencillas. Al igual que con BLE Radio, también hay soporte para canales.
Carrera de figuras en OctoStudio
- Para mostrar cómo funciona la comunicación entre OctoStudio y MicroBlocks, haremos una carrera para un máximo de 4 jugadores que moverán su figura sacudiendo una placa. ¡A ver quién llega antes!
Para empezar, hay que colocar la figura en el punto de salida y ajustar su tamaño si es necesario.
Luego, solo hay que esperar a que llegue una señal BLE correspondiente a su figura para avanzar unos pasos.
- Finalmente, hay que detectar cuándo una figura toca la meta y evitar que el resto continúe avanzando. Aprovecharemos para emitir un círculo, de forma que las placas reciban una señal en MicroBlocks que indique que la carrera ha terminado.
Carrera de figuras en MicroBlocks
- En MicroBlocks hay que usar la biblioteca OctoStudio de la categoría Red.
Para enviar, usamos el bloque
envía _ a teléfonos vía Octo
.La figura la elegimos al azar de una lista con los nombres de las figuras (en inglés). Aprovechamos el nombre para mostrar la figura en pantalla con el bloque
muestra imagen _
de Pantalla LED.
- Para recibir, usamos los bloques
¿mensaje Octo recibido?
yúltimo mensaje Octo
. En este caso, crearemos una variable final que se activará cuando se reciba un círculo desde la aplicación OctoStudio.
Reto Final 2: Completa la carrera de figuras tanto en OctoStudio como en MicroBlocks
Solución al reto final
⬅️ Activitad anterior |
---|
© by Citilab Edutec 2019-2025.
This work is licensed under a CC-BY-SA 4.0 license.