
Estación de tierra del CanSat: telemetría práctica con la micro:bit: chisme 78 del Lince
El Lince de la Noche llegó a la Peña de los Enamorados de Sierra Bermeja con una lata de refresco llena de cables y una sonrisa enorme.
—Gata, mi satélite está listo. Lo suelto desde el dron y mide la caída.
—¿Y quién va a entender lo que te mande? —preguntó la Gata Montesa sin levantar la vista.
—Yo. Miraré los números.
—A diez datos por segundo, con algunos perdidos y otros estropeados por el camino. Lince, el satélite es lo fácil. Lo difícil es la estación de tierra del CanSat.
Introducción
Un CanSat es un «satélite» del tamaño de una lata que manda datos por radio mientras cae. En este chisme 78 no construimos el satélite: construimos lo que hay en el suelo, la estación que recibe la telemetría, comprueba cada trama, cuenta las que se pierden, dibuja los datos y detecta las fases del vuelo.
La página funciona en cualquier ordenador, con un satélite simulado, y también con una micro:bit real por Bluetooth. Es el primer paso antes de ponernos en serio con el CanSat. Los datos no salen de tu equipo.
Abrir la estación de tierra del CanSat
Qué es una trama y por qué lleva una suma
Cada medida viaja como un texto con formato fijo, por ejemplo CS,12,5300,4,0,-1007,21.9*189: cabecera, número de trama, tiempo, aceleración en los tres ejes en milésimas de g, temperatura y, tras el asterisco, una suma de comprobación.
La estación repite la cuenta con lo que recibe. Si no coincide, la trama se descarta. Y si en la secuencia de números falta alguno, sabe que se perdió un paquete. Dañada y perdida no son lo mismo, y la página las cuenta por separado.
Qué se hace en la página
- Lanzar un vuelo simulado de 10 segundos con reposo, caída libre, impacto y aterrizaje.
- Estropear el enlace de radio con dos deslizadores (paquetes perdidos y tramas dañadas).
- Bajar la tasa de telemetría de 10 Hz a 1 Hz y descubrir que la caída puede desaparecer: lo que dura menos que el intervalo entre datos no se ve.
- Seguir una máquina de estados que detecta cada fase del vuelo a partir de la aceleración.
- Descargar los datos válidos en CSV para analizarlos después, como harías con los datos de Astro Pi.
- Superar cuatro misiones, un test de ocho preguntas y un informe imprimible.
Con una micro:bit de verdad
Con el satélite simulado ya puedes hacer todo el chisme. Pero lo bonito es conectar una micro:bit real y moverla, o dejarla caer, y ver los datos llegar. Antes de empezar, hay tres cosas que no puedes olvidar. Si te saltas una, no conectará.
⚠️ Las tres cosas imprescindibles
- Instala la extensión «bluetooth» en MakeCode. En tu proyecto, pulsa Extensiones, busca bluetooth y añádela. MakeCode te avisará de que tiene que quitar la radio: acepta.
- Cambia la opción de conexión. Pulsa el engranaje, entra en Configuración del proyecto y marca «No se requiere emparejamiento». Hazlo antes de descargar el programa. Si lo marcas después, la placa lleva la versión anterior y no conectará.
- Que nadie más tenga cogida la micro:bit. Solo admite una conexión Bluetooth a la vez. Cierra la pestaña de MakeCode, la app de micro:bit del móvil y cualquier otra página que la use. No la emparejes desde los ajustes de Bluetooth. Si Windows la muestra como «BBC micro:bit» o «Dispositivo desconocido», quítala de ahí.
El programa de la micro:bit
En MakeCode, cambia a JavaScript y pega este programa. Cada 0,1 s construye una trama con la aceleración y la temperatura, calcula la suma de comprobación y la envía por Bluetooth. Descárgalo en la placa y pulsa el botón de reset de atrás.
// Telemetría de la micro:bit: una trama cada 0,1 s por Bluetooth (UART)
bluetooth.startUartService()
let id = 0
bluetooth.onBluetoothConnected(function () {
id = 0
basic.showIcon(IconNames.Yes)
})
bluetooth.onBluetoothDisconnected(function () {
basic.showIcon(IconNames.No)
})
basic.forever(function () {
id += 1
// CS,número,milisegundos,ax,ay,az,temperatura
let trama = "CS," + id + "," + control.millis() + "," + input.acceleration(Dimension.X) + "," + input.acceleration(Dimension.Y) + "," + input.acceleration(Dimension.Z) + "," + input.temperature()
// suma de comprobación: suma de los códigos de los caracteres, módulo 256
let ck = 0
for (let i = 0; i < trama.length; i++) {
ck = (ck + trama.charCodeAt(i)) % 256
}
bluetooth.uartWriteLine(trama + "*" + ck)
basic.pause(100)
})
Conectar con la página
- Abre la estación de tierra en Chrome o Edge, escribiendo la dirección directamente.
- Elige micro:bit por Bluetooth y pulsa Conectar micro:bit.
- En la ventana, elige el dispositivo que se llama «BBC micro:bit […]».
- Espera unos segundos: la página reintenta sola. Cuando salga la ✔ en la micro:bit, ya llegan datos.
Funciona en ordenador y en móvil Android con Chrome. En iPhone no, porque iOS no tiene Bluetooth web. En clase, con ordenadores, lo normal es el Bluetooth del ordenador.
Si no conecta
- Cierra Chrome por completo, desenchufa la micro:bit y quita «BBC micro:bit» (o «Dispositivo desconocido») de los dispositivos Bluetooth de Windows.
- Comprueba que marcaste «No se requiere emparejamiento» y vuelve a descargar el programa.
- Pulsa reset en la placa, recarga la página con Ctrl+F5 y prueba otra vez.
- Si el error persiste, la página muestra el mensaje exacto: léelo, indica el paso donde falla.
Si Bluetooth no hay manera, la página también lee la micro:bit por cable USB (puerto serie), con un programa más corto que no necesita extensiones.
Seguridad: para la prueba de caída, deja caer la micro:bit unos 30 cm sobre un cojín o una cama. No la lances ni la dejes caer sobre el suelo.
Ciencia de verdad
En reposo el acelerómetro mide 1000 mg: la gravedad. En caída libre mide casi 0, porque mide la fuerza que sostiene al sensor y cayendo nada lo sostiene. Además, la temperatura de la micro:bit es la del chip, no la del aire. Medir no es medir bien.
Para el aula
- ¿Qué frecuencia mínima hace falta para ver una caída de 0,3 s con la regla de dos tramas seguidas?
- ¿Qué porcentaje de pérdidas hace inútil el enlace? Diseñad un experimento y representad los resultados.
- ¿Puede una trama estropeada pasar la suma de comprobación? Buscad cómo lo resuelve un CRC.
- Comparad los datos de dos micro:bit en la misma caída.
Retos
- Reto 1: lanza el vuelo y supera las cuatro misiones.
- Reto 2: cambia los umbrales de 400 y 1500 mg y mira qué ocurre.
- Reto 3: añade un sensor a la trama (presión, luz) y cambia la suma.
- Reto 4: analiza el CSV con Python o una hoja de cálculo.
- Reto 5: sustituye Bluetooth por LoRa con la Heltec y mide el alcance.
Qué hemos aprendido
Una estación de tierra no es solo una gráfica: comprueba, cuenta, descarta y decide. Y el muestreo importa tanto como el sensor. Puedes ver el resto de la colección en los Chismes del Lince y conocer el proyecto en MonteSteam. La ESA organiza el concurso real en CanSat.



Etiqueta:AIDARAC, cansat, ies monterroso, Internet de las Cosas, micro:bit, montesteam, Telemetría, Web Bluetooth

