“Lamentablemente, en nombre del progreso, hemos contaminado el aire, el agua, el suelo y los alimentos que comemos”. Por lo tanto, controlar la calidad del aire es muy importante hoy en día debido a la contaminación. Para diseñar un sistema de monitoreo de la calidad del aire, necesitamos un sensor de calidad del aire duradero y confiable. Aunque hay muchos parámetros de calidad del aire, los más importantes son el CO2 y el TVOC. Entonces, para detectar CO2 y TVOC, usamos el sensor de calidad del aire CCS811.
En este tutorial, le mostraremos cómo detectar TVOC y CO2 usando el sensor de calidad del aire CCS811 con Arduino. Además, aprenderá a interactuar CSS811 con Arduino.
Material requerido
- Arduino UNO
- Sensor de calidad del aire CCS811
- Potenciómetro (10k)
- LCD 16 * 2
- Tablero de circuitos
- Conexión de cables
Diagrama de circuito
Sensor de calidad del aire CCS811
El sensor de calidad del aire CCS811 es un sensor de gas digital de potencia ultrabaja que integra un sensor de gas MOX (óxido metálico) para detectar una amplia gama de compuestos orgánicos volátiles (COV) para el control de la calidad del aire interior con una MCU (unidad de microcontrolador) integrada. MCU consta de ADC (convertidor analógico a digital) e interfaz I2C. Se basa en una tecnología de microplaca calefactora exclusiva de ams que permite soluciones altamente confiables para sensores de gas con bajo consumo de energía.
En nuestro circuito, estamos usando este sensor para detectar TVOC y CO2 disponible en el ambiente y mostrar los datos en una pantalla LCD de 16 * 2.
Configuración de pines
Pin No. |
Nombre de PIN |
Descripción |
1 |
Vin |
Suministro de entrada (3.3v a 5v) |
2 |
3V3 |
Pin de salida de 3.3V para uso externo |
3 |
Gnd |
Suelo |
4 |
SDA |
Este es el pin de reloj I2C |
5 |
SCL |
Pin de datos I2C |
6 |
DESPERTAR |
El pin de activación del sensor debe estar conectado a tierra para comunicarse con el sensor |
7 |
RST |
Pin de reinicio: cuando está conectado a tierra, el sensor se reinicia por sí mismo |
8 |
EN T |
Este es el pin de salida de interrupción, que se usa para detectar cuando una nueva lectura está lista o cuando una lectura es demasiado alta o baja. |
Solicitud
- Teléfonos inteligentes
- Usables
- Automatización de viviendas y edificios
- Accesorios
Código y explicación
El código completo de Arduino para TVOC y medición de CO2 utilizando el sensor de calidad del aire CCS811 se proporciona al final.
En el siguiente código, estamos definiendo las bibliotecas para 16 * 2 LCD y sensor de calidad del aire CCS811. Para descargar la biblioteca "Adafruit_CCS811.h" para CCS811 siga este enlace.
#incluir
A continuación, hemos definido los pines para la conexión de 16 * 2 LCD con Arduino.
LiquidCrystal lcd (12, 13, 8, 9, 10, 11); /// REGISTRAR SELECCIONAR PIN, ACTIVAR PIN, D4 PIN, D5 PIN, D6 PIN, D7 PIN Adafruit_CCS811 ccs;
A continuación, hemos configurado el sensor de calidad del aire LCD y CCS811 y lo hemos calibrado para mostrar la temperatura correcta, como se muestra en el siguiente código, configuración vacía () {lcd.begin (16, 2); ccs.begin (); // calibrar el sensor de temperatura while (! ccs.available ()); temperatura de flotación = ccs.calculateTemperature (); ccs.setTempOffset (temp - 25.0); }
En el siguiente código, usamos las funciones " ccs.available ()" (la función ya está definida en la biblioteca) para verificar si hay algunos datos. A medida que obtenemos los datos, podemos calcular la temperatura y mostrarla en una pantalla LCD de 16 * 2.
Además, si CCS está disponible y ccs.readData () devuelve falso, obtenemos el valor de CO2 usando la función ccs.geteCO2 () y el valor TVOC usando ccs.getTVOC () , como se muestra en el siguiente código. Por lo tanto, hemos recibido el valor de los parámetros de calidad del aire utilizando el sensor de calidad del aire CCS811.
bucle vacío () {if (ccs.available ()) {temperatura flotante = ccs.calculateTemperature (); if (! ccs.readData ()) {int co2 = ccs.geteCO2 (); int tvoc = ccs.getTVOC (); lcd.setCursor (0, 0); lcd.print (Cadena ("CO2:") + Cadena (co2) + Cadena ("PPM")); lcd.setCursor (0, 1); lcd.print (Cadena ("TVOC:") + Cadena (tvoc) + Cadena ("PPB")); lcd.print (String ("T:" + String (int (temp))) + String ("C")); retraso (3000); lcd.clear (); } else {lcd.print ("ERROR"); mientras (1); }}}
El código completo de Arduino se proporciona a continuación. El código es simple, todo el trabajo lo realiza su propia biblioteca y hemos utilizado funciones definidas en la biblioteca CCS para obtener los valores de CO2 y TOVC.
Además, compruebe:
- Sistema de monitoreo de contaminación del aire basado en IOT usando Arduino
- Medición de PPM de sensores de gas MQ usando Arduino