"Lamentablement, en nom del progrés, hem contaminat l'aire, l'aigua, el sòl i els aliments que mengem". Per tant, la vigilància de la qualitat de l’aire és avui molt crucial a causa de la contaminació. Per dissenyar un sistema de control de la qualitat de l’aire necessitem un sensor de qualitat de l’aire durador i fiable. Tot i que hi ha molts paràmetres de qualitat de l’aire, però els més importants són el CO2 i el TVOC. Per tant, per detectar CO2 i TVOC, estem utilitzant el sensor de qualitat de l’aire CCS811.
En aquest tutorial, us mostrarem com detectar TVOC i CO2 mitjançant el sensor de qualitat de l’aire CCS811 amb Arduino. A més, aprendreu a relacionar CSS811 amb Arduino.
Material requerit
- Arduino UNO
- Sensor de qualitat de l'aire CCS811
- Potenciòmetre (10k)
- LCD 16 * 2
- Taula de pa
- Connexió de cables
Esquema de connexions

Sensor de qualitat de l'aire CCS811
El sensor de qualitat de l’aire CCS811 és un sensor de gas digital de potència ultra baixa que integra un sensor de gas MOX (òxid de metall) per detectar una àmplia gamma de COV (compostos orgànics volàtils) per a la supervisió de la qualitat de l’aire interior amb una MCU integrada (unitat de microcontroladors). MCU consisteix en ADC (convertidor analògic a digital) i interfície I2C. Es basa en un AMS tecnologia de micro-placa de cocció única que permet a solucions altament fiables per a Gas Sensors, amb baix consum d'energia.

Al nostre circuit, utilitzem aquest sensor per detectar TVOC i CO2 disponibles a l’entorn i mostrar les dades a 16 * 2 LCD.
Configuració del pin
|
Pin núm. |
Nom del pin |
Descripció |
|
1 |
Vin |
Subministrament d'entrada (3,3v a 5v) |
|
2 |
3V3 |
Pin de sortida de 3,3 V per a ús extern |
|
3 |
Gnd |
Terra |
|
4 |
SDA |
Es tracta del passador de rellotge I2C |
|
5 |
SCL |
Pin de dades I2C |
|
6 |
DESPERTAR |
El pin de despertador del sensor s’ha de connectar a terra per comunicar-se amb el sensor |
|
7 |
RST |
Restableix el pin: quan es connecta a terra, el sensor es reinicia |
|
8 |
INT |
Es tracta d’un pin de sortida d’interrupció, que s’utilitza per detectar quan una nova lectura està preparada o quan una lectura es fa massa alta o baixa |
Aplicació
- Telèfons intel·ligents
- Portables
- Automatització de la llar i la construcció
- Accessoris
Codi i explicació
Al final, es dóna el codi Arduino complet per a la mesura de TVOC i CO2 mitjançant el sensor de qualitat de l’aire CCS811.
Al codi següent, definim les biblioteques per a LCD de 16 * 2 i sensor de qualitat de l’aire CCS811. Per descarregar la biblioteca "Adafruit_CCS811.h" per a CCS811, seguiu aquest enllaç.
#incloure
A continuació, hem definit els pins per a la connexió de 16 * 2 LCD amb Arduino.
LiquidCrystal lcd (12, 13, 8, 9, 10, 11); /// REGISTRA PIN SELECCIÓ, ACTIVA PIN, PIN D4, PIN D5, PIN D6, PIN D7 Adafruit_CCS811 ccs;
A continuació, hem configurat un sensor de qualitat de l’aire LCD i CCS811 i l’hem calibrat per obtenir la temperatura correcta, tal com es mostra al codi següent, void setup () {lcd.begin (16, 2); ccs.begin (); // calibrar el sensor de temperatura mentre (! ccs.available ()); float temp = ccs.calculateTemperature (); ccs.setTempOffset (temp - 25.0); }
Al codi següent, hem utilitzat les funcions “ ccs.available ()” (la funció ja està definida a la biblioteca) per comprovar si hi ha dades que arriben. A mesura que obtenim les dades, podem calcular la temperatura i mostrar-la a 16 * 2 LCD.
A més, si CCS està disponible i ccs.readData () torna fals, obtenim el valor de CO2 mitjançant la funció ccs.geteCO2 () i el valor de TVOC mitjançant ccs.getTVOC () , tal com es mostra al codi següent. Per tant, hem rebut el valor dels paràmetres de qualitat de l’aire mitjançant el sensor de qualitat de l’aire CCS811.
bucle buit () {if (ccs.available ()) {float temp = ccs.calculateTemperature (); if (! ccs.readData ()) {int co2 = ccs.geteCO2 (); int tvoc = ccs.getTVOC (); lcd.setCursor (0, 0); lcd.print (String ("CO2:") + String (co2) + String ("PPM")); lcd.setCursor (0, 1); lcd.print (String ("TVOC:") + String (tvoc) + String ("PPB")); lcd.print (String ("T:" + String (int (temp))) + String ("C")); retard (3000); lcd.clear (); } else {lcd.print ("ERROR"); mentre que (1); }}}
A continuació es dóna el codi Arduino complet. El codi és senzill, tota la feina la fa la seva pròpia biblioteca i hem utilitzat funcions definides a la biblioteca CCS per obtenir els valors de CO2 i TOVC.
Comproveu també:
- Sistema de control de la contaminació atmosfèrica basat en IOT que utilitza Arduino
- Mesurament de PPM a partir de sensors de gas MQ mitjançant Arduino
