MH-Z14A

Midiendo CO2 con un MH-Z14A

¡Hola a todos! En esta entrada os vamos a hablar de cómo podemos medir la concentración de un gas tan importante como el CO2 con un Arduino Uno.

Como os comentamos en nuestra última entrada, estamos realizando dos equipos distintos: una estación meteorológica y un sensor de calidad de aula. Uno de los sensores que tienen en común, y quizá el menos conocido de todos los que usamos, es el MH-Z14A que se encarga de medir la concentración de CO2 en el aire. Este utiliza una tecnología llamada NDIR (non-directional infrared sensor) para detectar la concentración de este gas que consiste en emitir radiación infrarroja y observar cuánta ha absorbido el gas. Tiene la ventaja de ser un sensor muy preciso, al no detectar la cantidad de este gas mediante reacciones electroquímicas como otros, y además se puede interactuar con él fácilmente desde un Arduino al poder conectarse a él mediante un puerto serie.

MH-Z14A

Para poder usarlo con un Arduino, es necesario conectar el pin V+ a 5V, el pin V- a GND y los pines T y R a, por ejemplo, los pines 2 y 3 respectivamente. Aquí podéis encontrar un programa que lee los valores del sensor cada segundo utilizando la librería SoftwareSerial (ya incluida en el IDE, no hace falta descargarla) y los muestra por el puerto serie.

#include <SoftwareSerial.h>

SoftwareSerial sensor(2, 3);

const byte leerCO2[] = {0xFF, 0x01, 0x86, 0x00, 0x00, 0x00, 0x00, 0x00, 0x79};

void setup() {
 Serial.begin(9600);
 sensor.begin(9600);
}

void loop() {
 byte bufferCO2[9];
 sensor.write(leerCO2, 9);
 sensor.readBytes(bufferCO2, 9);
 int CO2 = bufferCO2[2] * 256 + bufferCO2[3];
 Serial.println("CO2: " + String(CO2) + " ppm");
 delay(1000);
}

Tras cargar el programa en la placa, podréis abrir el puerto serie y desde allí podréis observar la concentración de CO2 del lugar en el que estéis.

Si tenéis interés en ver cómo utilizamos este sensor en nuestro proyecto, podéis acceder a nuestra cuenta de Instagram y si tenéis interés en replicar vosotros el proyecto pronto colgaremos información en nuestro GitHub. ¡Hasta la próxima!

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *