
Entrada 15: Mitigación de Polvo Lunar (Regolito Electrostático) y Filtrado de Aire en el Iglú Científico BERMEJAHAB
Tras controlar los riesgos de radiación espacial (Entrada 14), nos enfrentamos a uno de los enemigos mecánicos y biológicos más abrasivos de la exploración lunar: el polvo de regolito en suspensión.
Cuando los astronautas regresan de una actividad extravehicular (EVA) e ingresan al Iglú Científico de BermejaHab, las micropartículas de regolito pegadas a sus trajes por carga electrostática entran en la atmósfera del laboratorio. En esta fase, el alumnado asume el rol de Ingenieros de Soporte Vital (ECLSS) y Control Ambiental, emulando el proyecto NASA Dust Mitigation Project para detectar la intrusión de partículas, activar compuertas automatizadas mediante servomotores y purificar el aire mediante filtrado HEPA y precipitación electrostática.
Plaintext
┌─────────────────────────────────────────────────────────────────────────────┐
│ SISTEMA DE FILTRADO Y MITIGACIÓN DE POLVO │
│ │
│ ┌──────────────────────┐ Partículas / Humo ┌───────────────────────────┐ │
│ │ Sensor de Calidad/Gas├─────────────────────>│ Controlador Arduino │ │
│ │ (Proxy MQ-2/MQ-135) │ (Lectura Analógica)│ (Procesamiento y Filtro) │ │
│ └──────────────────────┘ └─────────────┬─────────────┘ │
│ │ │
│ ┌────────────────────────────────────────────────┴┐ │
│ ▼ ▼ │
│ ┌─────────────────────┐ ┌────────────────────────┐ │
│ │ Servomotor SG90 │ │ Telemetría Web Serial │ │
│ │ (Compuerta HEPA 90°)│ │ (Curva PM2.5 / PM10) │ │
│ └─────────────────────┘ └────────────────────────┘ │
└─────────────────────────────────────────────────────────────────────────────┘
🔬 La Ciencia tras el Experimento: Física del Regolito y Dinámica de Fluidos
A diferencia del polvo terrestre, suavizado por la erosión del agua y el viento, el polvo lunar es un material extremadamente hostil:
- Geometría Abrasiva y Cortante: Formado por impactos de meteoritos durante miles de millones de años, el regolito contiene microcristales de silicato con bordes filosos como navajas que destruyen los sellos de goma, las juntas de las escotillas y los mecanismos móviles.
- Carga Electrostática: La radiación ultravioleta del Sol y el viento solar arrancan electrones del polvo lunar, cargándolo positivamente. Esto hace que el polvo se “pegue” de forma tenaz a los trajes, paneles solares y visores.
- Toxicidad Biológica (“Silicosis Lunar”): Al inhalar partículas menores de 2,5 micrómetros (PM2.5), estas penetran profundamente en los alvéolos pulmonares, provocando inflamación crónica similar a la silicosis minera.
1. Modelo Matemático de Decaimiento por Filtrado Aire (Tasa CADR)
La concentración de partículas en el aire del laboratorio C(t) en microgramos por metro cúbico (µg/m³) sigue una ecuación diferencial de purificación basada en el caudal del extractor Q (m³/h), el volumen del laboratorio V (m³) y la eficiencia del filtro E:
Donde:
- Q · E es la Tasa de Entrega de Aire Limpio (CADR – Clean Air Delivery Rate).
- Si abrimos la compuerta de ventilación mediante el servomotor y activamos la recirculación, la contaminación cae exponencialmente hasta niveles seguros (< 15 µg/m³).
2. Estrategia de Sustitución Segura en el Aula (Proxy Físico)
Al no disponer de sensores ópticos de infrarrojo para polvo (como el GP2Y1010), aplicamos una sustitución de ingeniería real:
- Sensor Proxy: Utilizamos los sensores de gas de la serie MQ (MQ-2 / MQ-135, con cápsula metálica plateada y base naranja) presentes en el kit. Estos sensores detectan aerosoles y partículas en suspensión (como humo denso o vapor).
- Actuador Servo SG90: El micromotor azul abre una compuerta física (palita blanca a 90°) que simula la apertura del conducto de aspiración hacia los filtros HEPA y precipitación electrostática de la base.
🛠️ Esquema de Conexión de Hardware (Para Integrar en el Aula)
El sensor de gas analógico MQ actúa como detector de densidad de partículas (humo/aerosoles proxy), transmitiendo la señal al Arduino para activar el servomotor SG90 (que orienta la compuerta del conducto de ventilación) y encender el indicador del extractor.
| Componente | Pin Sensor / Módulo | Pin Arduino Uno / Nano | Pin Arduino Mega | Función en el Sistema ECLSS |
| Sensor Gas MQ (Plateado/Naranja) | VCC / GND / AOUT | 5V / GND / Pin A0 | 5V / GND / Pin A0 | Detector Proxy de Partículas PM2.5 / PM10 |
| Servomotor SG90 (Azul) | VCC (Rojo) / GND (Marrón) / PWM (Naranja) | 5V / GND / Pin 9 | 5V / GND / Pin 9 | Compuerta de Ventilación Conducto HEPA |
| LED Indicador Extractor / Relé | Ánodo (+) / GND | Pin 5 (PWM) / GND | Pin 5 / GND | Indicador de Extractor de Aire / Filtro |
| Zumbador de Alerta Polvo | Positivo (+) / GND | Pin 8 / GND | Pin 8 / GND | Alarma por Contaminación de Aire |
💻 Código Firmware Real: Control de Filtrado y Compuerta (Air_Filtration_Dust_Mitigation.ino)
Este programa lee el nivel de partículas en suspensión desde el sensor MQ, calcula el nivel equivalente de PM2.5 en µg/m³, ajusta suavemente la posición del servomotor SG90 entre 0° (Compuerta Cerrada) y 90° (Compuerta HEPA Abierta) y transmite la telemetría en tiempo real.
C++
/*
BermejaHab - Sistema de Filtrado de Aire y Mitigación de Polvo Lunar
Control Ambiental ECLSS - Proyecto MonteSTEAM
IES Monterroso
*/
#include <Servo.h>
// Pines de Hardware
const int PIN_SENSOR_MQ = A0; // Sensor de gas/aerosoles (Proxy de polvo)
const int PIN_SERVO_HATCH = 9; // Servo SG90 (Compuerta de aire)
const int PIN_FAN_RELAY = 5; // Indicador/Relé de ventilador HEPA
const int PIN_BUZZER = 8; // Zumbador de alerta
// Objetos
Servo compuertaHEPA;
// Umbrales de Calidad de Aire (PM2.5 simulado en ug/m3)
const float PM25_LIMITE_SEGURO = 25.0; // ug/m3 (Nivel óptimo)
const float PM25_UMBRAL_FILTRO = 75.0; // ug/m3 (Activar compuerta y extractor)
const float PM25_ALERTA_CRITICA = 200.0; // ug/m3 (Peligro de silicosis lunar)
void setup() {
Serial.begin(9600);
pinMode(PIN_FAN_RELAY, OUTPUT);
pinMode(PIN_BUZZER, OUTPUT);
digitalWrite(PIN_FAN_RELAY, LOW);
digitalWrite(PIN_BUZZER, LOW);
compuertaHEPA.attach(PIN_SERVO_HATCH);
compuertaHEPA.write(0); // Compuerta cerrada inicialmente (0 grados)
Serial.println(F("=================================================="));
Serial.println(F(" BERMEJAHAB - FILTRADO DE AIRE Y POLVO LUNAR "));
Serial.println(F("=================================================="));
}
void loop() {
// 1. Lectura del Sensor Proxy (MQ-2 / MQ-135)
int lecturARaw = analogRead(PIN_SENSOR_MQ);
// Mapeo lineal/curvado a concentración estimada de PM2.5 (0 a 500 ug/m3)
float pm25Estimado = map(lecturARaw, 50, 800, 10, 500);
if (pm25Estimado < 0) pm25Estimado = 5.0; // Control de rango mínimo
// 2. Control Proporcional de la Compuerta con Servomotor SG90
int anguloServo = 0;
bool extractorActivo = false;
if (pm25Estimado > PM25_UMBRAL_FILTRO) {
// Calcular ángulo proporcional entre 0 y 90 grados según la contaminación
anguloServo = map((int)pm25Estimado, PM25_UMBRAL_FILTRO, 400, 30, 90);
if (anguloServo > 90) anguloServo = 90;
compuertaHEPA.write(anguloServo);
digitalWrite(PIN_FAN_RELAY, HIGH); // Encender extractores
extractorActivo = true;
// Alerta acústica si supera el nivel crítico de silicosis
if (pm25Estimado > PM25_ALERTA_CRITICA) {
tone(PIN_BUZZER, 1500, 200);
} else {
noTone(PIN_BUZZER);
}
} else {
// Aire limpio: cerrar compuerta y apagar purificación
compuertaHEPA.write(0);
digitalWrite(PIN_FAN_RELAY, LOW);
noTone(PIN_BUZZER);
anguloServo = 0;
extractorActivo = false;
}
// 3. Telemetría Serie para Centro de Control Web
Serial.print(F("[DUST] PM25:"));
Serial.print(pm25Estimado, 1);
Serial.print(F(" ug/m3 | HatchAngle:"));
Serial.print(anguloServo);
Serial.print(F(" deg | HEPA_Fan:"));
Serial.print(extractorActivo ? F("ON") : F("OFF"));
Serial.print(F(" | Status:"));
if (pm25Estimado < PM25_UMBRAL_FILTRO) Serial.println(F("CLEAN"));
else if (pm25Estimado < PM25_ALERTA_CRITICA) Serial.println(F("PURIFYING"));
else Serial.println(F("CRITICAL_DUST"));
delay(1000);
}
🤖 Prompt para Claude: Simulador de Filtrado de Aire y Purificación HEPA
Para trabajar desde casa o como complemento interactivo en el aula, este prompt le pide a Claude generar un Dashboard en Claude Artifacts con modelo dinámico de decaimiento exponencial de partículas y conexión Web Serial.
Plaintext
Actúa como un Ingeniero de Control Ambiental ECLSS de la NASA/ESA. Crea un Dashboard web interactivo en un ÚNICO ARCHIVO HTML (listo para ejecutar como Claude Artifact) para simular la Mitigación de Polvo Lunar y Filtrado de Aire en BermejaHab.
Estética e Interfaz:
- Estilo "Consola de Filtrado de Habitáculo Espacial" (modo oscuro slate-950, acentos en cyan-400, emerald-400 y amber-500, tipografía monospace).
- Usa Tailwind CSS y FontAwesome vía CDN.
- Muestra un lienzo gráfico (HTML5 Canvas) animado con partículas flotantes de regolito lunar que son succionadas hacia una compuerta servocontrolada.
Panel del Simulador (Modo desde Casa):
1. Sliders de Entrada de Parámetros:
- Evento de Intrusión de Polvo por Escotilla (Inyectar de 50 a 500 ug/m3 de PM2.5).
- Caudal del Extractor HEPA (100 a 600 m3/h).
- Eficiencia del Filtro Precipitador Electrostático (50% a 99.9%).
2. Botones de Acción: "Inyectar Polvo Lunar (Entrada Traje EVA)", "Apagar Filtros", "Resetear Aire".
3. Lógica Física de Purificación (JavaScript Loop a 1 Hz):
- Modela el decaimiento exponencial de concentración de partículas C(t) = C0 * exp(-(Q*E/V)*t) para un volumen de módulo de 20 m3.
- Genera una gráfica en tiempo real con Chart.js que represente: [Concentración PM2.5 (ug/m3)] vs [Tiempo (s)] con línea roja de límite peligroso (200 ug/m3).
- Indicador visual del Servomotor SG90: Mostrar la aguja/palita girando dinámicamente de 0° a 90° según el requerimiento de filtrado.
Compatibilidad con Hardware Real (Modo Aula Web Serial):
- Incluye un botón "🔌 Conectar Monitor de Polvo Real (Web Serial API)".
- Implementa parser regex para leer la trama serie transmitida por Arduino:
"[DUST] PM25:XX.X ug/m3 | HatchAngle:XX deg | HEPA_Fan:ON/OFF | Status:STATUS"
- Al recibir datos del Arduino real, desactiva la simulación digital y representa la posición real de la palita del servo SG90 y los datos del sensor MQ en tiempo real.
Entrega el código HTML/JS/CSS autocontenido, completamente funcional y sin omitir fragmentos de código.
🔄 Secuencia Didáctica del Experimento
- 💻 Simulación Digital Térmica y Fluidodinámica (Desde Casa): El alumnado utiliza la interfaz interactiva para calcular cuánto tiempo se tarda en purificar un hábitat de 20 m³ tras una intrusión de 300 µg/m³ de polvo lunar según el caudal del extractor.
- 🔌 Montaje del Conducto Automatizado (En el Instituto): Acoplamiento del servomotor SG90 a una compuerta móvil artesanal (hecha de cartón o impresión 3D) en la entrada de un conducto con un ventilador/LED y conexión del sensor de gas MQ al Arduino.
- 🧪 Prueba de Intrusión de Partículas: Acercar una fuente controlada de humo/aerosol (proxy seguro de regolito) al sensor MQ. Comprobar cómo el Arduino detecta el incremento, hace girar la palita del servo SG90 a 90° para abrir la compuerta y activa el extractor.
- 📊 Análisis de Rendimiento: Graficar el tiempo de recuperación del aire limpio una vez disipado el humo mediante la Web Serial API.
🎓 Vinculación Curricular
- Asignaturas: Física y Química (4º ESO) / Tecnología e Ingeniería (1º Bachillerato) / Biología y Geología.
- Saberes Básicos:
- Ecuaciones Diferenciales Aplicadas: Modelización de decaimiento exponencial en procesos de purificación y mezcla de fluidos.
- Sistemas de Control Servomando: Control de posición angular con servomotores SG90 (
Servo.h), señales PWM y mapeo proporcional de variables analógicas. - Salud Ambiental y Geología Planetaria: Propiedades fisicoquímicas del regolito sin erosión atmosférica, riesgos de aerosoles PM2.5 / PM10 y sistemas de soporte vital cerrado (ECLSS).



