Existen varios módulos o sensores electrónicos muy interesantes para tus proyectos DIY, desde los que pueden medir la radiación, hasta algunos dispositivos para medir la calidad del aire, e incluso detectores de gas. En este artículo vamos a adentrarnos en un componente que se emplea para medir la calidad de aire, y conocer si el aire del ambiente que te rodea es bastante limpio o tiene un alto grado de contaminación de cualquier tipo.
Este tipo de elementos son los que emplean algunos sistemas de purificación de aire para saber cuándo se deben activar automáticamente para filtrar el aire, o en otras muchas aplicaciones para medir contaminaciones en ciudades, etc. Aquí podrás aprender qué es este dispositivo, cómo usarlo, y la forma de integrarlo con tu placa Arduino.
Sensor para medir la calidad del aire y CO2
Existen varios tipos de detectores de gas o sensores para medir la calidad del aire. Uno de los más asequibles y populares es el CCS811, que se puede integrar en módulos para usarlos fácilmente con Arduino. Gracias a este dispositivo se puede medir la calidad del aire en interiores, y saber si es de calidad o está demasiado contaminado con dióxido de carbono o CO2, monóxido de carbono o CO, así como compuestos volátiles o VOCs como el etanol, aminas, o hidrocarburos aromáticos.
Todo gracias a un pequeño dispositivo multi-gas. El rango de medición de partículas puede ser desde las 400 a 8192 ppm (partes por millón en el caso de CO2, o de 0 a 1187 ppb (partes por billón) para los compuestos VOC. No obstante, deberías conocer cuáles son los detalles del modelo concreto de sensor que has comprado usando el datasheet que proporciona el fabricante.
Como le ocurre a otros sensores químicos, se necesita un precalentado en este caso. Es decir, se debería poner a funcionar al menos 20 min (o hasta 48h si se cambia de lugar) antes para que las lecturas sean reales y que las mediciones se vayan estabilizando. De lo contrario, las primeras medidas podrían ser bastante erróneas.
Los módulos no solo incluyen el CCS811, también integran un conversor ADC, un procesador interno para realizar los cálculos y los elementos de comunicación para transmitir a través del bus I2C y que placas como Arduino puedan interpretarlos o realizar algunas operaciones al obtener ciertos valores.
También es importante conocer el pinout de este módulo, además de el voltaje de alimentación que va desde los 1.8 a los 3.3v, aunque algunos módulos pueden implementar un adaptador para que los puedas conectar a la salida 5V de Arduino. Además, también es conveniente que conozcas que dispone de 5 modos de medición:
- Medición continuada
- Medición cada 0.250 segundos
- Medición cada 1 segundo
- Medición cada 10 segundos
- Medición cada 60 segundos
Puedes adaptarlo según tus necesidades. Ten en cuenta que el modo de medición continuada es el que más consume, mientras que los modos de menor frecuencia van consumiendo menos, siendo el de 60s el que más ahorra. Por tanto, si se va a usar con batería, es probable que tengas que configurar modos de 10 o 60 para que no se agote tan rápido.
En cuanto a los pines:
- VCC: alimentación
- GND: tierra
- I2C: comunicación
- SCL
- SDA
- WAK (WakeUp): para despertar al módulo cuando se conecta a GND
- RST: reset si se conecta a GND
- INT: se emplea en algunos modos para detectar si el sensor realiza una nueva detección o si sobrepasa ciertos umbrales
Dónde comprar
Si quieres hacerte con un módulo para medir la calidad del aire compatible con Arduino y que sea barato, puedes encontrarlo en algunas tiendas dedicadas a la electrónica o en grandes plataformas como Amazon. Aquí tienes algunas recomendaciones de compra:
Cómo integrar el sensor para medir la calidad de aire con Arduino
Ahora bien, para integrar el módulo para medir la calidad del aire con tu placa Arduino UNO y comenzar a experimentar con él, puedes comenzar conectándolo de esta forma:
- VCC puede ir conectada a 5V de Arduino. *Si acepta ese voltaje, si necesita un voltaje inferior, deberías usar el correcto para no dañarlo. Si no, puedes usar la 3v3 de Arduino.
- GND va a GND.
- SCL es una conexión de entrada analógica, por ejemplo A5.
- SDA irá a otra conexión de entrada analógica, como puede ser la A4.
- WAK en este ejemplo iría a GND también.
- Los demás no son necesarios para este ejemplo.
En cuanto al código para Arduino IDE, puedes usar una biblioteca CCS811 desarrollada por Adafruit que puedes descargar e instalar desde aquí en tu Arduino IDE, y con el siguiente código podrás realizar la primera lectura con el sensor para medir la calidad del aire:
#include "Adafruit_CCS811.h" Adafruit_CCS811 ccs; void setup() { Serial.begin(9600); Serial.println("CCS811 test"); if(!ccs.begin()){ Serial.println("¡Fallo al iniciar el sensor! Por favor, revisa las conexiones."); while(1); } //Espera a que el sensor esté listo. while(!ccs.available()); } void loop() { if(ccs.available()){ if(!ccs.readData()){ Serial.println(ccs.calculateTemperature();); Serial.print("ºC, CO2: "); Serial.print(ccs.geteCO2()); Serial.print("ppm, TVOC: "); Serial.println(ccs.getTVOC()); } else{ Serial.println("¡ERROR!"); while(1); } } delay(500); }