
Entrada 14: Monitor de Radiación Espacial y Alerta Temprana ante Tormentas Solares (SPE) en el Iglú Científico (4º ESO / 1º Bachillerato)
Tras simular la extracción de agua por sublimación en el regolito (Entrada 13), el Iglú Científico de BermejaHab se enfrenta a una de las amenazas más letales e invisibles del entorno lunar: la radiación ionizante.
Al carecer la Luna de un campo magnético global (magnetosfera) y de una atmósfera protectora, la superficie lunar está expuesta de forma continua al viento solar y a la radiación cósmica. En esta fase, el alumnado asume el rol de Oficiales de Dosimetría y Física Médica Espacial, emulando los experimentos BioSentinel de la NASA y los maniquíes MARE de la misión Artemis I de la ESA/DLR para medir dosis de radiación y activar el protocolo automatizado de evacuación a los refugios subterráneos de la base.
Plaintext
┌─────────────────────────────────────────────────────────────────────────────┐
│ MONITOR DE RADIACIÓN Y ALERTA SPE │
│ │
│ ┌────────────────────────┐ Flujo de Partículas ┌─────────────────────────┐ │
│ │ Emulador de Flujo ├─────────────────────>│ Procesador / Dosímetro │ │
│ │ (Potenciómetro/Sensor) │ (Viento Solar / SPE)│ (Calculador de Dosis) │ │
│ └────────────────────────┘ └────────────┬────────────┘ │
│ │ │
│ ┌─────────────────────────────────────────────────┴┐ │
│ ▼ ▼ │
│ ┌─────────────────────┐ ┌──────────────────────┐ │
│ │ Neopixel / Alarma │ │ Telemetría Web Serial│ │
│ │ (Semáforo de Alerta)│ │ (Dosis Acumulada) │ │
│ └─────────────────────┘ └──────────────────────┘ │
└─────────────────────────────────────────────────────────────────────────────┘
🔬 La Ciencia tras el Experimento: Física de Radiaciones y Dosimetría Espacial
En la Tierra recibimos una dosis promedio de radiación natural de fondo de aproximadamente 0,2 µSv/h (microSieverts por hora). En la superficie lunar, esta cifra sube drásticamente debido a dos fuentes principales:
- Rayo Cósmicos Galácticos (GCR): Radiación de fondo constante de alta energía (protones e iones pesados HZE) procedente de fuera del Sistema Solar (~15 a 30 µSv/h en la Luna).
- Eventos de Partículas Solares (SPE – Solar Particle Events): Tormentas solares masivas provocadas por fulguraciones y eyecciones de masa coronal (CME). Durante una SPE, el flujo de protones energéticos puede elevar la dosis por encima de los 1.000.000 µSv/h (1 Sievert/hora), dosis letal en cuestión de horas si los astronautas no se refugian bajo metros de regolito.
1. Unidades de Medida en Física Médica
- Dosis Absorbida (Gray, Gy): Cantidad de energía depositada por unidad de masa (1 Gy = 1 Julio/kg).
- Dosis Equivalente / Efectiva (Sievert, Sv): Mide el impacto biológico sobre el tejido humano multiplicando el Gray por un factor de calidad según el tipo de radiación. En docencia usamos µSv/h para tasa de dosis y mSv para radiación acumulada.
2. Estrategia de Sustitución Segura en el Aula (Proxy Físico)
Dado que no podemos introducir fuentes radiactivas en el instituto ni contamos con contadores Geiger comerciales, aplicamos la estrategia de Simulación por Inyección Física Regulada:
- Utilizamos un Potenciómetro de Precisión como “Inyector de Flujo de Partículas Solares” o un Sensor de Gas MQ / LDR, permitiendo al alumnado girar el dial para “provocar” una Tormenta Solar (SPE) en vivo.
- El código procesa esta entrada analógica y la traduce con precisión matemática a una tasa de radiación en µSv/h, integrando la dosis acumulada en tiempo real sobre una tira LED Neopixel y un zumbador de alarma de evacuación.
🛠️ Esquema de Conexión de Hardware (Para Integrar en el Aula)
El sistema utiliza un potenciómetro como regulador de flujo radiactivo (o sensor analógico equivalente), una tira Neopixel o LED RGB para la señalización visual del código de colores de la NASA/ESA y un zumbador piezoeléctrico para la alarma acústica de evacuación.
| Componente | Pin Sensor / Módulo | Pin Arduino Uno / Nano | Pin Arduino Mega | Función en el Dosímetro |
| Potenciómetro (10kΩ) | VCC / GND / Wiper | 5V / GND / Pin A0 | 5V / GND / Pin A0 | Inyector Manual de Flujo Solar (µSv/h) |
| Tira Neopixel / RGB | DIN / VCC / GND | Pin 6 / 5V / GND | Pin 6 / 5V / GND | Semáforo de Alerta de Radiación |
| Zumbador Piezoeléctrico | Positivo (+) / GND | Pin 8 / GND | Pin 8 / GND | Alarma Acústica de Evacuación SPE |
| Sensor Gas MQ (Opcional) | Salida Analógica (AO) | Pin A1 | Pin A1 | Proxy alternativo de densidad de partículas |
💻 Código Firmware Real: Dosímetro y Alerta Temprana SPE (Radiation_SPE_Monitor.ino)
Este programa lee el canal analógico, calcula la tasa de dosis instantánea en µSv/h mediante una escala logarítmica/exponencial realista, integra la dosis total acumulada ($mSv$) y gestiona las fases de evacuación con la tira Neopixel (verde, amarillo, rojo intermitente) y la sirena.
C++
/*
BermejaHab - Sistema de Dosimetría y Alerta Temprana SPE
Iglú de Experimentos Científicos - Proyecto MonteSTEAM
IES Monterroso
*/
#include <Adafruit_NeoPixel.h>
// Configuración de Hardware
const int PIN_FLUX_INJECTOR = A0; // Potenciómetro / Proxy de radiación
const int PIN_NEOPIXEL = 6; // Tira LED Neopixel
const int PIN_BUZZER = 8; // Zumbador de alarma
const int NUM_LEDS = 8; // Número de LEDs Neopixel
Adafruit_NeoPixel strip(NUM_LEDS, PIN_NEOPIXEL, NEO_GRB + NEO_KHZ800);
// Variables Dosimétricas
float dosisInstantaneauSv = 0.2; // Fondo radiactivo nominal (0.2 uSv/h)
float dosisAcumuladamSv = 0.0; // Dosis total integrada
unsigned long tiempoAnterior = 0;
// Umbrales de Seguridad Espacial (Límites NASA / ESA)
const float UMBRAL_PRECAUCION = 50.0; // uSv/h (Trabajo exterior limitado)
const float UMBRAL_EVACUACION = 1000.0; // uSv/h (Tormenta Solar Masiva SPE)
void setup() {
Serial.begin(9600);
pinMode(PIN_BUZZER, OUTPUT);
digitalWrite(PIN_BUZZER, LOW);
strip.begin();
strip.show(); // Apagar todos los LEDs inicialmente
Serial.println(F("=================================================="));
Serial.println(F(" BERMEJAHAB - DOSÍMETRO Y MONITOR SPE LUNAR "));
Serial.println(F("=================================================="));
}
void loop() {
unsigned long tiempoActual = millis();
float dtHoras = (tiempoActual - tiempoAnterior) / 3600000.0; // Convertir ms a Horas
tiempoAnterior = tiempoActual;
// 1. Lectura del Inyector de Flujo (Potenciómetro A0)
int valorRaw = analogRead(PIN_FLUX_INJECTOR);
// Mapeo Exponencial Simulado: De 0.2 uSv/h (Nominal) a 5000.0 uSv/h (SPE Masiva)
if (valorRaw < 50) {
// Ruido Cósmico de Fondo aleatorio
dosisInstantaneauSv = 0.2 + (random(0, 100) / 200.0);
} else {
// Escala cuadrática para simular el disparo exponencial de una fulguración solar
float factor = valorRaw / 1023.0;
dosisInstantaneauSv = 0.2 + (factor * factor * 5000.0);
}
// 2. Integración de Dosis Acumulada (mSv)
dosisAcumuladamSv += (dosisInstantaneauSv * dtHoras);
// 3. Gestor de Estados y Código de Colores (Neopixel + Alarma)
String estadoRadiacion = "NOMINAL";
if (dosisInstantaneauSv < UMBRAL_PRECAUCION) {
// ESTADO 1: NOMINAL (Verde)
estadoRadiacion = "NOMINAL";
setStripColor(0, 255, 0); // Verde Neón
noTone(PIN_BUZZER);
}
else if (dosisInstantaneauSv >= UMBRAL_PRECAUCION && dosisInstantaneauSv < UMBRAL_EVACUACION) {
// ESTADO 2: ALERTA_ELEVADA (Amarillo / Naranja)
estadoRadiacion = "PRECAUCION_GCR";
setStripColor(255, 150, 0); // Amarillo
noTone(PIN_BUZZER);
}
else {
// ESTADO 3: EMERGENCIA SPE - TORMENTA SOLAR (Rojo Intermitente + Sirena)
estadoRadiacion = "EVACUACION_SPE";
// Parpadeo de emergencia
if ((millis() / 250) % 2 == 0) {
setStripColor(255, 0, 0); // Rojo brillante
tone(PIN_BUZZER, 2000); // Tono de alarma 2 kHz
} else {
setStripColor(0, 0, 0); // Apagado
noTone(PIN_BUZZER);
}
}
// 4. Telemetría Serie para el Centro de Control
Serial.print(F("[RAD] DosisInst:"));
Serial.print(dosisInstantaneauSv, 1);
Serial.print(F(" uSv/h | DosisAcum:"));
Serial.print(dosisAcumuladamSv, 4);
Serial.print(F(" mSv | Status:"));
Serial.println(estadoRadiacion);
delay(1000); // Muestreo cada segundo
}
// Función auxiliar para colorear la tira Neopixel
void setStripColor(uint8_t r, uint8_t g, uint8_t b) {
for (int i = 0; i < NUM_LEDS; i++) {
strip.setPixelColor(i, strip.Color(r, g, b));
}
strip.show();
}
🤖 Prompt para Claude: Simulador de Radiación Estocástico y Centro de Alerta SPE
Para trabajar desde casa o complementar el aula digital, este prompt le pide a Claude generar una interfaz gráfica en Claude Artifacts con generador estocástico Monte Carlo de tormentas solares y receptor Web Serial.
Plaintext
Actúa como Diseñador de Interfaces Espaciales y Dosimetrista de la NASA/ESA. Crea un Dashboard web interactivo en un ÚNICO ARCHIVO HTML (listo para ejecutar como Claude Artifact) para simular el Monitor de Radiación y Alerta Temprana de Tormentas Solares (SPE) en BermejaHab.
Estética e Interfaz:
- Estilo "Consola de Seguridad Radiológica" (modo oscuro slate-950, acentos en emerald-400, amber-400 y red-600, tipografía monospace para valores numéricos).
- Usa Tailwind CSS y FontAwesome vía CDN.
- Muestra un "Dosímetro Corporal de Astronauta" visual con nivel de exposición en porcentaje.
Panel del Simulador (Modo desde Casa):
1. Algoritmo Estocástico Monte Carlo (JavaScript Loop a 1 Hz):
- Simula la radiación cósmica de fondo (GCR) oscilando de forma aleatoria entre 0.2 y 0.5 uSv/h.
- Botón "Provocar Fulguración Solar Clase X (SPE)": Inyecta una curva sigmoide que dispara la dosis instantánea hasta los 2500 uSv/h en 5 segundos.
- Slider de "Blindaje de Regolito (cm)": Permite al usuario aumentar el espesor de blindaje del iglú (0 a 200 cm) y calcula la atenuación de dosis exponencial (I = I0 * e^(-mu * x)).
2. Visualización de Datos (Chart.js):
- Gráfico 1: Tasa de Dosis Instantánea (uSv/h) vs Tiempo con líneas de umbral crítico NASA.
- Gráfico 2: Dosis Acumulada (mSv) con barra de límite máximo anual recomendado para astronautas (250 mSv).
3. Indicador Visual de Alerta (LED de estado en pantalla y Alarma por Audio API):
- Verde: NOMINAL (< 50 uSv/h)
- Amarillo: ADVERTENCIA (50 - 1000 uSv/h)
- Rojo Parpadeante + Sonido de Alarma Web Audio API: EMERGENCIA SPE (> 1000 uSv/h -> "ORDEN DE EVACUACIÓN A REFUGIO SUBTERRÁNEO").
Compatibilidad con Hardware Real (Modo Aula Web Serial):
- Botón "🔌 Conectar Dosímetro Real (Web Serial API)".
- Parser regex para la trama serie del Arduino:
"[RAD] DosisInst:XX.X uSv/h | DosisAcum:X.XXXX mSv | Status:STATUS"
- Al conectar el Arduino real, desactiva la simulación Monte Carlo y representa las lecturas físicas del potenciómetro/sensor real.
Entrega el código HTML/JS/CSS autocontenido, funcional y sin omitir fragmentos de código.
🔄 Secuencia Didáctica del Experimento
- 💻 Simulación Monte Carlo y Cálculo de Blindaje (Desde Casa): El alumnado utiliza la interfaz interactiva para calcular cuántos centímetros de regolito apelmazado se necesitan para reducir una tormenta solar de 3.000 µSv/h a niveles seguros (< 10 µSv/h).
- 🔌 Montaje del Dosímetro de Aula (En el Instituto): Conexión del potenciómetro inyector, la tira Neopixel y el zumbador al Arduino Uno/Mega.
- 🧪 Simulacro de Evacuación por Tormenta Solar: Un estudiante actúa como “El Sol”, aumentando girando el потенciómetro. Al superar los 1.000 µSv/h, la tira Neopixel destella en rojo y suena la alarma piezoeléctrica, obligando al equipo de Misión a ejecutar el protocolo informático de sellado de la base.
- 📊 Análisis de Datos: Extracción de las curvas de radiación acumulada para comprobar si el equipo habría superado la dosis máxima anual de la NASA (250 mSv).
🎓 Vinculación Curricular
- Asignaturas: Física y Química (4º ESO) / Física (2º Bachillerato) / Tecnología y Digitalización.
- Saberes Básicos:
- Física Nuclear y Radiaciones: Tipos de radiación (alfa, beta, gamma, protones), dosis absorbida vs dosis equivalente (Grays y Sieverts) y atenuación exponencial por blindaje ($I = I_0 \cdot e^{-\mu x}$).
- Programación y Electrónica: Mapeo de entradas analógicas a escalas no lineales, gestión de direccionamiento en tiras Neopixel (WS2812B) y temporización sin bloqueo (
millis()). - Biología y Medicina Espacial: Efectos biológicos de las radiaciones ionizantes sobre el ADN humano y prevención de síndromes agudos por radiación en la exploración planetaria.




