
Chisme del Lince AstroPi03: los sensores que sí cambian en órbita
Noche despejada en Sierra Bermeja. En la cueva del Lince, la Raspberry Pi con su Sense HAT parpadea sobre la mesa de trabajo, junto a una taza de café ya frío. Sensores Sense Hat.
—Lo tengo, Gata —anuncia Víctor Vílchez, el Lince de la Noche, con los ojos brillando—. Nuestro experimento para la ISS: ¡medir el frío del espacio! Doscientos setenta grados bajo cero, directamente en un archivo CSV.
La Gata Montesa ni levanta la vista de su libro de astrofísica.
—Lince, la Astro Pi va dentro de la estación. Allí hay astronautas en camiseta. La ISS por dentro es como una casa con calefacción: la temperatura y la humedad casi no cambian.
—Entonces… ¿diez minutos midiendo veintitantos grados?
—Diez minutos midiendo una línea plana. Lo interesante es lo que sí cambia mientras la estación da vueltas a la Tierra.
El Lince coge un imán de la nevera y lo acerca a la placa para «calibrar». El número del magnetómetro se dispara.
—¡Gata! ¡He roto el campo magnético de la Tierra!
—Has medido tu imán —suspira ella—. El sensor suma todo lo que tiene cerca: el campo de la Tierra y el de tu imán de la playa de Estepona.
—Espera… ¿esto mide el campo magnético de la Tierra? ¿El escudo que nos protege del viento solar?
—El mismo. Y desde la ISS cambia según por dónde pase la estación.
Al Lince se le iluminan los ojos. Él no estudia el espacio para irse a otro planeta; sabe que para eso falta muchísimo. Lo estudia para entender qué nos protege aquí.
La Gata cierra el libro y sonríe. Es fan de Carl Sagan desde niña.
—«Look again at that dot. That’s here. That’s home.» Venga, vamos a averiguar qué sensores merecen la pena.
Introducción
En AstroPi01 pusimos en marcha la Raspberry Pi y en AstroPi02 conocimos la Sense HAT. Ahora toca una pregunta clave para la Mission Space Lab: ¿qué sensores Sense HAT dan datos que cambian en 10 minutos de órbita?
Vamos a probar los sensores Sense HAT que de verdad cambian en la ISS (magnetómetro, acelerómetro, giroscopio y sensor de luz y color) con un programa en Python. Primero en el aula y después en un simulador que viaja a la órbita.
Por qué este chisme
El programa de cada equipo se ejecuta 10 minutos en una Astro Pi de la Estación Espacial Internacional, durante las horas de luz. Es poco tiempo. Si elegimos entre los sensores Sense HAT uno cuyo valor no se mueve, volveremos a la Tierra con una línea plana.
La guía oficial de Mission Space Lab lo dice claro: para captar datos que cambien en esos 10 minutos conviene usar la cámara, el giroscopio, el magnetómetro, el acelerómetro o el sensor de luz y color.
La temperatura, la humedad y la presión se mantienen casi constantes dentro del módulo. El sensor de movimiento PIR detecta sobre todo a la tripulación que pasa cerca. Se pueden usar, pero es poco probable que cambien mucho en 10 minutos.
Cómo funcionan estos sensores Sense HAT
Tres de los cuatro sensores Sense HAT viven en un mismo chip, la IMU (unidad de medida inercial). La IMU de la Sense HAT tiene un magnetómetro, un acelerómetro y un giroscopio. Cada uno da tres números: uno por cada eje (x, y, z).
| Sensor | Función de sense_hat | Unidades | Qué mide |
|---|---|---|---|
| Magnetómetro | sense.get_compass_raw() | microteslas (µT) | Campo magnético (Tierra + imanes y aparatos cercanos) |
| Acelerómetro | sense.get_accelerometer_raw() | g (1 g = gravedad en la superficie) | Aceleración |
| Giroscopio | sense.get_gyroscope_raw() | radianes por segundo (rad/s) | Velocidad de giro |
| Luz y color | r, g, b, c = sense.colour.colour | sin unidades absolutas | Rojo, verde, azul y luz total (C, clear) |
Para saber «cuánto» campo o aceleración hay en total, sin importar hacia dónde apunte la placa, calculamos el módulo del vector: √(x² + y² + z²). Es lo mismo que veis en Física con los vectores.
El sensor de color tiene dos ajustes. sense.colour.gain es la sensibilidad (1, 4, 16 o 60). sense.colour.integration_cycles es el tiempo que recoge luz: más ciclos, más luz recogida y lecturas más lentas.
Qué necesitamos
- La Raspberry Pi 4 B con la Sense HAT V2 de AstroPi02, funcionando.
- Thonny (viene con Raspberry Pi OS).
- Un imán pequeño, un móvil con linterna y cartulinas de colores.
- El simulador del chisme, por si no tenéis la placa delante.
El código
Crea una carpeta llamada astropi03-sensores-orbita y dentro un archivo main.py con este programa. Está en inglés, como pide Mission Space Lab, y cumple sus normas: no usa la matriz LED, no usa la red y termina solo.
La parte que importa es la PARTE 2. La PARTE 1 será igual en todos los chismes AstroPi.
"""
Chisme del Lince AstroPi03 - Sensors that DO change in orbit
Mission Space Lab practice program (Raspberry Pi 4 B + Sense HAT V2).
It reads the four sensors that the creator guide recommends for a
10-minute experiment on the ISS (magnetometer, accelerometer,
gyroscope and colour/light) and prints them with their units.
It does NOT use the LED matrix (forbidden in Mission Space Lab).
"""
from sense_hat import SenseHat
from time import sleep
from math import sqrt
# ---------------------------------------------------------------
# PART 1 - Setup (the same in every AstroPi chisme)
# ---------------------------------------------------------------
sense = SenseHat()
# Turn on the three motion sensors (IMU):
# compass (magnetometer), gyroscope and accelerometer
sense.set_imu_config(True, True, True)
# Colour and light sensor settings
sense.colour.gain = 60 # sensitivity: 1, 4, 16 or 60
sense.colour.integration_cycles = 64 # longer = more light collected
NUMBER_OF_READINGS = 20 # 20 readings...
SECONDS_BETWEEN = 1 # ...one per second
def magnitude(x, y, z):
"""Length of a 3D vector: sqrt(x^2 + y^2 + z^2)."""
return sqrt(x * x + y * y + z * z)
# ---------------------------------------------------------------
# PART 2 - THE IMPORTANT PART: read the sensors that change in orbit
# ---------------------------------------------------------------
for i in range(NUMBER_OF_READINGS):
# Magnetometer: raw magnetic field in microteslas (uT)
mag = sense.get_compass_raw()
mag_total = magnitude(mag["x"], mag["y"], mag["z"])
# Accelerometer: acceleration in g (1 g = Earth's gravity)
acc = sense.get_accelerometer_raw()
acc_total = magnitude(acc["x"], acc["y"], acc["z"])
# Gyroscope: rotation speed in radians per second (rad/s)
gyro = sense.get_gyroscope_raw()
# Colour and light: red, green, blue and clear (total light)
r, g, b, c = sense.colour.colour
print(f"--- Reading {i + 1} of {NUMBER_OF_READINGS} ---")
print(f"Magnetic field: x={mag['x']:.1f} y={mag['y']:.1f} "
f"z={mag['z']:.1f} uT | total={mag_total:.1f} uT")
print(f"Acceleration: x={acc['x']:.3f} y={acc['y']:.3f} "
f"z={acc['z']:.3f} g | total={acc_total:.3f} g")
print(f"Rotation: x={gyro['x']:.4f} y={gyro['y']:.4f} "
f"z={gyro['z']:.4f} rad/s")
print(f"Colour: R={r} G={g} B={b} | light (C)={c}")
sleep(SECONDS_BETWEEN)
# ---------------------------------------------------------------
# PART 3 - Not needed on the ISS, just a friendly ending
# ---------------------------------------------------------------
print("Done! Which values changed when you moved the Pi?")
Lee y predice antes de ejecutar: con la Pi quieta sobre la mesa, ¿qué total dará el acelerómetro? ¿Y el giroscopio? ¿Y qué daría el acelerómetro en la ISS?
El simulador paso a paso
Si no tenéis la placa delante, o para ensayar antes, usad el simulador de los sensores Sense HAT en órbita. Tiene 11 pasos cortos: predecir, probar cada sensor en el aula, viajar 10 minutos a la ISS (en 30 segundos) y elegir vuestros dos sensores.
En cada paso, la página dice qué hacer, marca lo que ya habéis hecho y solo entonces explica qué hay que mirar. Con ?modo=demo lo hace todo solo.

Los datos de la ISS del simulador son de ejemplo, generados con un modelo sencillo para aprender. No son medidas reales. Los datos de verdad los probaremos con el Astro Pi Replay Tool.

Cómo probar los sensores Sense HAT en el aula
- Ejecutad
main.pyen Thonny con la Pi quieta sobre la mesa y anotad los valores. - Acelerómetro: inclinad la Pi. El total sigue cerca de 1 g, pero se reparte entre x, y y z. La gravedad «se mueve» de un eje a otro.
- Giroscopio: girad la Pi despacio y luego deprisa. Al dejarla quieta vuelve a casi 0.
- Magnetómetro: acercad despacio un imán, un móvil o unas tijeras y mirad cómo cambia el total. Nunca peguéis el imán a la placa.
- Color: tapad el sensor con el dedo, iluminadlo con la linterna del móvil y ponedle delante cartulinas de colores.
Qué miden realmente los sensores Sense HAT
Acelerómetro: por qué marca casi 0 g en la ISS
En la mesa, el acelerómetro marca unos 1 g. No mide la gravedad directamente: mide que la mesa nos empuja hacia arriba e impide que caigamos.
La ISS está en caída libre continua alrededor de la Tierra: cae todo el rato, pero va tan deprisa (unos 7,7 km/s) que nunca llega al suelo. La Pi cae a la vez que la estación, así que el acelerómetro marcará valores cercanos a 0 g, con pequeñas vibraciones y maniobras.
Ojo: eso no significa que allí no haya gravedad. A unos 400 km de altura, la gravedad sigue siendo cerca del 90 % de la de la superficie. Es una de las ideas erróneas más comunes sobre el espacio.
Magnetómetro: el escudo de la Tierra
En la superficie, el campo magnético terrestre vale aproximadamente entre 25 y 65 µT, según el lugar. Es más fuerte cerca de los polos y más débil cerca del ecuador.
La ISS da una vuelta a la Tierra en unos 92 minutos. En 10 minutos recorre algo más de una décima parte de su órbita, unos 4.600 km. Por el camino, el campo cambia de intensidad y de dirección. Por eso el magnetómetro es un gran candidato para un experimento.
Problema real: el metal y los aparatos de la propia ISS también afectan a la medida, igual que vuestro imán en el aula. Medir no significa medir bien. Un equipo de años anteriores midió el campo magnético terrestre desde la ISS: podéis leer su informe.
Giroscopio: un giro muy lento
La ISS gira lentamente para mantener siempre la misma cara hacia la Tierra: aproximadamente una vuelta por órbita. Eso es una velocidad de giro muy pequeña, del orden de milésimas de rad/s.
¿Es capaz de detectarla el sensor, o queda por debajo de su ruido? Es una buena pregunta de investigación, y solo se responde con datos reales. [COMPROBAR con el Replay Tool antes de afirmar qué se ve.]
Luz y color: números sin unidades
Los valores R, G, B y C no son unidades absolutas. Dependen de gain y de integration_cycles. Solo se pueden comparar lecturas tomadas con los mismos ajustes.
Con mucha luz y gain = 60, C llega a 255 y se queda ahí: el sensor está saturado. El programa se ejecuta en la ISS durante las horas de luz. Qué ve exactamente el sensor allí arriba, la luz de la cabina o la de una ventana, hay que comprobarlo con datos reales. [COMPROBAR]
Temperatura, humedad y presión
En la ISS casi no varían: la estación mantiene el aire en condiciones cómodas para la tripulación. Además, como vimos en AstroPi01, el sensor de temperatura está pegado a la placa y la propia Pi lo calienta.
Sensores Sense HAT y normas de Astro Pi
- El programa del equipo debe usar al menos un sensor de la Sense HAT o la cámara. Calcular la posición de la ISS con
skyfieldoastro_pi_orbitsin medir nada no cuenta: eso es un modelo, no una medida. - No se puede depender de que un astronauta toque la Pi: nada de joystick ni botones.
- La matriz LED está prohibida en Mission Space Lab.
Para el aula
- Debate 1: ¿por qué el acelerómetro marca casi 0 g en la ISS si allí hay casi tanta gravedad como aquí?
- Debate 2: ¿cómo sabríais si un cambio del magnetómetro viene de la Tierra o de un aparato de la estación?
- Unidades: escribid al lado de cada línea del programa qué mide y en qué unidad.
- Predicción: antes de ejecutar, cada grupo apunta qué sensores cambiarán en la ISS. Después lo comparan con el simulador (pasos 1 y 10).
- Hoja oficial: la guía de Mission Space Lab enlaza una hoja de trabajo PRIMM (predecir, ejecutar, investigar, modificar, crear) con un programa que lee el magnetómetro. Es el siguiente paso natural.
Retos
Reto 1
Haz que funcione y anota los valores con la Pi quieta.
Reto 2
Inclina la Pi 90° y explica qué eje «recibe» la gravedad.
Reto 3
Mide a qué distancia deja de notarse un imán en el magnetómetro.
Reto 4
Cambia gain del sensor de color (1, 4, 16, 60) con la misma luz y compara las lecturas.
Reto 5
Añade sense.get_orientation() (pitch, roll y yaw, en grados) y compáralo con el giroscopio. ¿En qué se diferencian un ángulo y una velocidad de giro?
Reto 6
Toma 20 lecturas con la Pi quieta y calcula la media y la dispersión del giroscopio. Eso es su ruido. ¿Es mayor o menor que las milésimas de rad/s a las que gira la ISS?
Reto 7
En el simulador, elige dos sensores y redacta vuestra pregunta para la Mission Space Lab.
Qué hemos aprendido de los sensores Sense HAT
- No todos los sensores Sense HAT sirven para un experimento de 10 minutos en la ISS.
- El magnetómetro, el acelerómetro, el giroscopio y el sensor de luz y color sí cambian. La temperatura, la humedad y la presión casi no.
- Un acelerómetro en caída libre marca casi 0 g aunque haya gravedad.
- Un sensor mide todo lo que tiene cerca, y un número sin unidades solo se compara con los mismos ajustes.
Próximamente: AstroPi04 (la cámara), AstroPi05 (guardar los datos en CSV como en la ISS) y AstroPi06 (controlar los 10 minutos).
Para seguir investigando
- AstroPi01: primeros pasos con la Raspberry Pi 4 B
- AstroPi02: la Sense HAT, los sentidos de Astro Pi
- Guía oficial de Mission Space Lab (creator guide)
- Documentación de la librería sense_hat
- Informe de un equipo que midió el campo magnético terrestre desde la ISS




