
Chisme del Lince AstroPi04: la cámara que ve lo invisible
Mediodía en la terraza de la cueva, con Sierra Bermeja al fondo. Víctor Vílchez, el Lince de la Noche, acaba de conectar una cámara diminuta a la Raspberry Pi. Ha escrito su primer programa de fotos y pulsa Ejecutar con solemnidad de astronauta.
—Tres fotos, Gata. Las primeras imágenes de la misión.
Abre la primera. Todo es rosa. La segunda: fucsia. La tercera: rosa chicle, y además boca abajo.
—Está rota —dice el Lince, muy serio—. O peor: la Pi se ha enamorado y lo ve todo de color rosa.
La Gata Montesa coge la cámara y le da la vuelta.
—Placa negra. Es una cámara NoIR. No está rota, Lince: ve una luz que tú no ves.
—¿Una luz invisible?
—El infrarrojo. Esta cámara no tiene el filtro que lo bloquea. Las plantas reflejan muchísimo infrarrojo, así que para ella salen rosas. Con una lámpara de infrarrojos se usa para ver de noche.
Al Lince se le iluminan los ojos.
—Una cámara que ve en la oscuridad… ¡Es una cámara de Lince de la Noche!
—Y de paso —añade la Gata—, la has montado boca abajo.
Introducción
En AstroPi01 pusimos en marcha la Raspberry Pi y en AstroPi02 conocimos la Sense HAT. Ahora toca el otro gran instrumento de Astro Pi: la cámara Raspberry Pi.
En este chisme vamos a hacer lo mismo que haremos en clase con la placa real: conectar la cámara Raspberry Pi, comprobar que el sistema la ve, instalar la librería picamzero, hacer las primeras fotos con Python… y entender por qué salen rosas.
Por qué este chisme
La guía de Mission Space Lab recomienda la cámara como una de las mejores fuentes de datos que cambian durante los 10 minutos en la ISS: por la ventana pasan nubes, mar, desiertos y ciudades.
Pero antes de pensar en fotos de la Tierra hay que saber lo básico: conectar la cámara Raspberry Pi sin estropearla, comprobar que funciona y guardar las fotos donde exige la misión. Y, de paso, aprender que una cámara no siempre «ve» lo mismo que nosotros.
Qué necesitamos
- La Raspberry Pi 4 B con la Sense HAT V2 de los chismes anteriores.
- Una cámara Raspberry Pi. Nosotros usamos una Camera Module 2 NoIR (placa negra). Con una Camera Module 2 normal (placa verde) todo funciona igual, pero las fotos salen con colores normales.
- La cinta plana que viene con la cámara.
- Acceso a la Pi por VNC o con pantalla y teclado.
Las Astro Pi de la ISS llevan una cámara de alta calidad (HQ Camera) con objetivo. La HQ Camera también funciona con este chisme, pero necesita un objetivo enroscado para enfocar.
El simulador paso a paso
Antes de tocar la placa, o para repasar después, usad el simulador de la cámara Raspberry Pi. Tiene 9 pasos en el mismo orden que la práctica real. En cada uno, la página dice qué hacer, marca lo que ya habéis hecho y solo entonces explica qué hay que mirar.

Construcción: conectar la cámara Raspberry Pi
- Apaga la Pi. Desde el terminal:
sudo shutdown -h now. Espera a que el LED verde deje de parpadear y desenchufa la alimentación. La cámara nunca se conecta en caliente. - Busca el conector CAMERA. Está entre los micro-HDMI y el jack de audio. El otro conector de cinta, DISPLAY, es para pantallas. Si la Sense HAT no te deja llegar, quítala un momento.
- Levanta la pestaña del conector tirando suavemente hacia arriba.
- Mete la cinta recta hasta el fondo, con los contactos plateados hacia los micro-HDMI y la parte azul hacia el jack de audio.
- Baja la pestaña para bloquearla. En la cámara, la cinta suele venir ya puesta de fábrica: no la toques.
Si la cinta va al revés no se rompe nada: simplemente la Pi no ve la cámara. Es el error más común.
Comprobar que la Pi ve la cámara
Enciende la Pi, abre un terminal y escribe:
rpicam-hello --list-cameras
Con nuestra Camera Module 2 sale esto (resumido):
Available cameras
-----------------
0 : imx219 [3280x2464 10-bit RGGB] (/base/soc/i2c0mux/i2c@1/imx219@10)
imx219 es el sensor de la Camera Module 2: 3280 × 2464 píxeles, unos 8 megapíxeles. Si sale «No cameras available», apaga y revisa la cinta por los dos lados. En sistemas antiguos el comando es libcamera-hello.
Instalar picamzero
picamzero es la librería de Python que usa Mission Space Lab para la cámara. Comprueba si está:
python3 -c "import picamzero; print('picamzero OK')"
Si sale ModuleNotFoundError: No module named 'picamzero', no es un desastre: significa que no está instalada. Instálala y vuelve a comprobar:
sudo apt update
sudo apt install -y python3-picamzero
El código
Crea una carpeta astropi04-camara y dentro un archivo main.py con este programa. Hace tres fotos, una cada 5 segundos, y las guarda junto a main.py, como exige Mission Space Lab.
"""
Chisme del Lince AstroPi04 - Test: take photos with the camera
Raspberry Pi 4 B + Camera Module 2 (picamzero library).
Photos are saved next to main.py, as Mission Space Lab requires.
"""
from picamzero import Camera
from pathlib import Path
from time import sleep
# Folder where main.py lives (never use absolute paths like /home/pi)
base_folder = Path(__file__).parent.resolve()
camera = Camera()
NUMBER_OF_PHOTOS = 3 # Mission Space Lab allows at most 42 images
SECONDS_BETWEEN = 5
for i in range(NUMBER_OF_PHOTOS):
photo = base_folder / f"image_{i:02d}.jpg"
camera.take_photo(str(photo))
size_kb = photo.stat().st_size / 1024
print(f"Photo {i + 1} saved: {photo.name} ({size_kb:.0f} KB)")
sleep(SECONDS_BETWEEN)
print("Done! Open the photos and compare them.")
Lo importante:
Path(__file__).parentes la carpeta donde estámain.py. En la ISS el programa no se ejecuta en tu escritorio, así que nada de rutas como/home/pi/Desktop.camera.take_photo(...)hace la foto y la guarda en un archivo JPEG.f"image_{i:02d}.jpg"numera las fotos con dos cifras:image_00.jpg,image_01.jpg…
Lee y predice antes de ejecutar: ¿cuántas fotos hará? ¿Cuánto tardará el programa en total? ¿Dónde aparecerán los archivos?
Cómo probarlo
- Apunta la cámara a algo con plantas, cielo y alguna pared.
- Ejecuta
main.pyen Thonny. En la consola sale cada foto con su tamaño. Las nuestras ocupaban casi 1 MB cada una. - Abre las fotos desde el administrador de archivos. Si tu cámara es NoIR, saldrán rosas, como la nuestra:

Y sí, también salió boca abajo: la cámara estaba montada al revés. En la ISS la orientación de la cámara importa mucho para saber qué estamos mirando.
Qué estamos midiendo realmente
La luz que no vemos
La luz es una onda, y cada color tiene una longitud de onda. Nuestros ojos ven aproximadamente de 400 nm (violeta) a 700 nm (rojo). Por encima de 700 nm está el infrarrojo cercano: existe, pero no lo vemos.
El sensor de silicio de la cámara Raspberry Pi capta luz hasta cerca de 1000 nm. Una cámara normal lleva un filtro de infrarrojo que la corta, para que los colores se parezcan a lo que vemos. NoIR significa No InfraRed filter: le han quitado ese filtro.

Por qué las plantas salen rosas
El infrarrojo se cuela en los píxeles, sobre todo en los del rojo, y los colores se desplazan hacia el rosa y el violeta. Las plantas sanas reflejan muchísimo infrarrojo cercano por la estructura de sus hojas, mientras absorben la luz roja para hacer la fotosíntesis. Por eso son lo más rosa de la foto.
Esa diferencia entre rojo e infrarrojo es la base del NDVI, un índice que usan los satélites para medir la salud de la vegetación. Con una cámara NoIR y un filtro azul se puede calcular. Es un experimento clásico de Astro Pi y lo dejamos para un chisme posterior.
Medir no significa medir bien
Una foto parece «la realidad», pero es una medida. Depende del sensor, del filtro, del balance de blancos, de la exposición y hasta de cómo está montada la cámara. Antes de sacar conclusiones de una imagen hay que saber con qué instrumento se ha hecho.
Cámara Raspberry Pi y normas de Mission Space Lab
- El programa puede guardar como mucho 42 imágenes en la ISS.
- Los archivos se guardan junto a
main.py, usando__file__. - Hay que usar al menos un sensor o la cámara. La cámara, por sí sola, ya cumple.
- El programa debe terminar solo dentro de sus 10 minutos (lo veremos en AstroPi06).
Para el aula
- ¿Normal o NoIR? Mirad la placa de cada cámara del aula: ¿verde o negra? Haced la misma foto con las dos y comparadlas.
- Cuenta de bytes: si cada foto ocupa casi 1 MB, ¿cuánto ocupan 42? ¿Y si las hacemos más pequeñas?
- Tiempo: con 42 fotos y una cada 5 segundos, ¿cabe el programa en 10 minutos?
- Hipótesis: ¿qué saldrá más rosa en la foto, una planta regada o una seca? ¿Cómo lo comprobaríais?
- Lee y predice: ¿qué pasa si cambias
SECONDS_BETWEEN = 5por0?
Retos
Reto 1
Haz que funcione: conecta la cámara, compruébala y haz tus tres fotos.
Reto 2
Cambia el programa para hacer 10 fotos, una cada 2 segundos.
Reto 3
Busca en la documentación de picamzero cómo girar la imagen para que no salga boca abajo.
Reto 4
Calcula cuánto ocuparían 42 fotos y comprueba si caben en el tiempo de la misión.
Reto 5
Haz la misma foto con una cámara normal y con una NoIR, y compara una planta, el cielo y una pared.
Reto 6
Investiga qué es el NDVI y qué datos necesitarías para calcularlo con una cámara NoIR.
Qué hemos aprendido
- A conectar la cámara Raspberry Pi con la Pi apagada y la cinta del derecho.
- A comprobar con
rpicam-hello --list-camerasque el sistema ve la cámara. - A instalar
picamzeroy hacer fotos con Python, guardándolas junto amain.py. - Que una cámara NoIR ve el infrarrojo, y que una foto es una medida, no la realidad.
Próximamente: AstroPi05 (guardar los datos en CSV como en la ISS) y AstroPi06 (controlar los 10 minutos).
Para seguir investigando
Etiqueta:AIDARAC, Astro Pi, cámara Raspberry Pi, ies monterroso, infrarrojo, Mission Space Lab, montesteam, NoIR, picamzero, python, Raspberry Pi



