“Purtroppo, in nome del progresso, abbiamo inquinato l'aria, l'acqua, il suolo e il cibo che mangiamo”. Quindi il monitoraggio della qualità dell'aria è molto cruciale oggigiorno a causa dell'inquinamento. Per progettare un sistema di monitoraggio della qualità dell'aria abbiamo bisogno di un sensore di qualità dell'aria durevole e affidabile. Sebbene ci siano molti parametri di qualità dell'aria, ma i più importanti sono CO2 e TVOC. Quindi, per rilevare CO2 e TVOC, utilizziamo il sensore di qualità dell'aria CCS811.
In questo tutorial, ti mostreremo come rilevare TVOC e CO2 utilizzando il sensore di qualità dell'aria CCS811 con Arduino. Inoltre, imparerai a interfacciare CSS811 con Arduino.
Materiale richiesto
- Arduino UNO
- Sensore di qualità dell'aria CCS811
- Potenziometro (10k)
- LCD 16 * 2
- Breadboard
- Collegamento dei cavi
Schema elettrico
Sensore di qualità dell'aria CCS811
CCS811 Air Quality Sensor è un sensore di gas digitale a bassissima potenza che integra un sensore di gas MOX (ossido di metallo) per rilevare un'ampia gamma di VOC (composti organici volatili) per il monitoraggio della qualità dell'aria interna con un MCU (unità microcontrollore) integrato. MCU è costituito da ADC (convertitore analogico-digitale) e interfaccia I2C. Si basa su un'esclusiva tecnologia a micropiastra ams che offre soluzioni altamente affidabili per sensori di gas, con un basso consumo energetico.
Nel nostro circuito, stiamo usando questo sensore per rilevare TVOC e CO2 disponibili nell'ambiente e visualizzare i dati su LCD 16 * 2.
Configurazione dei pin
N. pin |
Nome pin |
Descrizione |
1 |
Vin |
Alimentazione in ingresso (da 3,3 V a 5 V) |
2 |
3V3 |
Pin di uscita 3,3 V per uso esterno |
3 |
Gnd |
Terra |
4 |
SDA |
Questo è il pin dell'orologio I2C |
5 |
SCL |
Pin dati I2C |
6 |
SVEGLIA |
Wakeup Pin del sensore, deve essere collegato a massa per poter comunicare con il sensore |
7 |
RST |
Pin di ripristino: quando è collegato a terra, il sensore si ripristina |
8 |
INT |
Questo è il pin di uscita dell'interruzione, utilizzato per rilevare quando una nuova lettura è pronta o quando una lettura diventa troppo alta o bassa |
Applicazione
- Smartphone
- Indossabili
- Domotica e Building Automation
- Accessori
Codice e spiegazione
Alla fine viene fornito il codice Arduino completo per la misurazione TVOC e CO2 utilizzando il sensore di qualità dell'aria CCS811.
Nel codice seguente, stiamo definendo le librerie per LCD 16 * 2 e sensore di qualità dell'aria CCS811. Per scaricare la libreria "Adafruit_CCS811.h" per CCS811 segui questo link.
#includere
Di seguito abbiamo definito i Pin per il collegamento di LCD 16 * 2 con Arduino.
LCD LiquidCrystal (12, 13, 8, 9, 10, 11); /// REGISTRA SELEZIONA PIN, ABILITA PIN, D4 PIN, D5 PIN, D6 PIN, D7 PIN Adafruit_CCS811 ccs;
Di seguito abbiamo impostato il sensore di qualità dell'aria LCD e CCS811 e lo abbiamo calibrato per mostrare la temperatura corretta, come mostrato nel codice sottostante, void setup () {lcd.begin (16, 2); ccs.begin (); // calibra il sensore di temperatura mentre (! ccs.available ()); float temp = ccs.calculateTemperature (); ccs.setTempOffset (temp - 25.0); }
Nel codice seguente, abbiamo utilizzato le funzioni " ccs.available ()" (la funzione è già definita nella libreria) per verificare se ci sono dati in arrivo. Man mano che otteniamo i dati, siamo in grado di calcolare la temperatura e visualizzarla su un LCD 16 * 2.
Inoltre, se CCS è disponibile e ccs.readData () restituisce false, otteniamo il valore di CO2 utilizzando la funzione ccs.geteCO2 () e il valore TVOC utilizzando ccs.getTVOC () , come mostrato nel codice seguente. Quindi, abbiamo ricevuto il valore dei parametri di qualità dell'aria utilizzando il sensore di qualità dell'aria CCS811.
void loop () {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")); ritardo (3000); lcd.clear (); } altro {lcd.print ("ERROR"); mentre (1); }}}
Di seguito viene fornito il codice completo di Arduino. Il codice è semplice, tutto il lavoro viene svolto dalla sua libreria stessa e abbiamo utilizzato le funzioni definite nella libreria CCS per ottenere i valori di CO2 e TOVC.
Inoltre, controlla:
- Sistema di monitoraggio dell'inquinamento atmosferico basato su IOT utilizzando Arduino
- Misurazione di PPM da sensori di gas MQ utilizzando Arduino