Detector de CO2 (Dióxido de Carbono) Casero
Estos días he estado jugando con sistemas embebidos Arduino, y descubrí que es muy fácil de aprender, así que decidí armar un detector de dióxido de carbono. Principalmente porque al mantener las ventanas cerradas por el PM2.5, quería saber si realmente hay suficiente oxígeno en la habitación y qué tipo de sistema de ventilación debería instalar.
Materiales para el montaje:
| Material | Precio RMB (incl. envío) |
|---|---|
| Placa de desarrollo compatible Arduino Nano | 15 |
| Convertidor de Nivel Lógico (Logic Level Converter) | 5.5 |
| Sensor DS-CO2-20 | 145 |
| Pantalla OLED SSD1306 128x64 | 14 |
| Placa universal doble cara 3x7 | 5.14 |
| Cables eléctricos | 4 |
| Espárragos M2*15 | 5 |
Un soldador con punta T12 casero es suficiente, con un precio de alrededor de 170 RMB se puede alcanzar un rendimiento similar al de modelos originales que cuestan más de 2000.

Diagrama de conexiones
El protocolo de comunicación del sensor es UART a 3.3v, para simplificar uso un convertidor de nivel.

Código
Aquí solo comparto el código simple para obtener los valores del sensor:
#include <SoftwareSerial.h>
#define rxPin 12
#define txPin 11
SoftwareSerial CO2_Serial(rxPin, txPin);
const byte readCO2[] = {0x42, 0x4d, 0xe3, 0x00, 0x00, 0x01, 0x72}; //Comando
byte responses[12];
void setup()
{
CO2_Serial.begin(9600);
}
unsigned int GetCo2()
{
int valMultiplier = 1;
while (!CO2_Serial.available())
{
CO2_Serial.write(readCO2, 7);
delay(1000);
}
CO2_Serial.setTimeout(2000);
CO2_Serial.readBytes(responses, 12);
int high = responses[4]; //byte alto
int low = responses[5]; //byte bajo
unsigned int val = high * 256 + low;
return val * valMultiplier;
}
void loop()
{
auto co2 = GetCo2();
draw_co2(co2);
delay(1000);
}Para la parte de visualización utilicé la librería u8g2. Para aumentar la velocidad de renderizado, solo puedo renderizar áreas parciales, así que activé el fullbuffer, lo que consumió directamente el 92% de la memoria. Viendo esto, quizás sería mejor cambiar de librería.

Conclusión
Volviendo a la pregunta original, ¿hay suficiente oxígeno al mantener las ventanas cerradas? Aquí está mi experiencia, siendo una persona sedentaria, en un apartamento de una habitación con ventanas viejas de aluminio, de aproximadamente 30$m^2$:
- Con las ventanas cerradas, el CO2 sube aproximadamente 500 ppm cada 30 minutos, llegando a un máximo de alrededor de 3000-4000 ppm (dependiendo de la ubicación de la prueba).
- Abriendo un poco las ventanas, se puede estabilizar en un máximo de alrededor de 1000 ppm.
- Abriendo un poco puertas y ventanas, se puede estabilizar en alrededor de 500 ppm (se ve que es importante la ventilación cruzada norte-sur).
Cada 10,000 ppm equivalen a un contenido del 1% de CO2
¿Cuánto CO2 es perjudicial para el cuerpo humano? Esto es científicamente controvertido. Algunos experimentos encontraron que niveles superiores a 1200 ppm reducen la cognición, pero otros experimentos de tecleo encontraron que ni siquiera 5000 ppm tienen efecto. La recomendación médica para la seguridad vital es no permanecer en un ambiente superior a 10,000 ppm por más de 8 horas. Por lo tanto, se puede considerar que mantener las ventanas cerradas es seguro en términos de seguridad, pero si es posible, es mejor mantenerlo entre 1000-2000 ppm.
EDIT: Anteriormente sospechaba que el máximo de 3000-4000 ppm de CO2 se debía a la mala estanqueidad de la casa vieja, pero una prueba en una casa con ventanas de sistema nuevas y confirmada como estanca mediante prueba de presión negativa dio el mismo resultado.
Dado que abrir un poco las ventanas tiene un efecto tan evidente, ¿significa que solo es necesario instalar un sistema de ventilación mural en cada habitación? ¿Y así se evita la complejidad añadida por los conductos en el techo de un sistema de ventilación para toda la casa (ventilación por conductos)? Si solo consideramos el oxígeno, sí es posible.
Un sistema de ventilación para toda la casa generalmente puede renovar el aire de toda la casa 1-2 veces por hora, por lo que puede eliminar olores y formaldehído. Claro, el formaldehído ahora no es un gran problema, a menudo es más una estafa intelectual. Pero su instalación es complicada, pensar en cómo distribuir los conductos puede ser un dolor de cabeza, y si la máquina se avería, es difícil imaginar cómo repararla.
En cambio, un sistema mural tiene una tasa de renovación de aire muy baja, su alcance de suministro de aire es corto, solo es útil en habitaciones pequeñas, y su capacidad de intercambio de calor es limitada, lo que puede causar problemas de aire frío o caliente soplado.