"Na žalost smo v imenu napredka onesnažili zrak, vodo, zemljo in hrano, ki jo jemo." Tako je spremljanje kakovosti zraka danes zelo pomembno zaradi onesnaženja. Za zasnovo sistema za nadzor kakovosti zraka potrebujemo trajen in zanesljiv senzor kakovosti zraka. Čeprav obstaja veliko parametrov kakovosti zraka, najpomembnejša pa sta CO2 in TVOC. Torej za zaznavanje CO2 in TVOC uporabljamo senzor kakovosti zraka CCS811.
V tej vadnici vam bomo pokazali, kako zaznati TVOC in CO2 s pomočjo senzorja kakovosti zraka CCS811 z Arduino. Naučili se boste tudi vmesnika CSS811 z Arduinom.
Potreben material
- Arduino UNO
- CCS811 Senzor kakovosti zraka
- Potenciometer (10k)
- LCD 16 * 2
- Breadboard
- Povezovanje žic
Shema vezja
CCS811 Senzor kakovosti zraka
CCS811 Air Quality Sensor je digitalni senzor za plin z izjemno majhno močjo, ki vključuje MOX (kovinski oksid) plinski senzor za zaznavanje širokega spektra HOS (hlapnih organskih spojin) za spremljanje kakovosti zraka v zaprtih prostorih z vgrajenim MCU (enota mikrokrmilnika). MCU je sestavljen iz ADC (analogno-digitalni pretvornik) in vmesnika I2C. Temelji na ams edinstveni tehnologiji mikro-kuhalne plošče, ki daje zelo zanesljive rešitve za plinske senzorje z nizko porabo energije.
V našem vezju uporabljamo ta senzor za zaznavanje TVOC in CO2, ki sta na voljo v okolju, ter prikazovanje podatkov na 16 * 2 LCD.
Konfiguracija zatiča
Pin št. |
Pripnite ime |
Opis |
1. |
Vin |
Vhodna dobava (3.3v do 5v) |
2. |
3V3 |
3.3V izhodni zatič za zunanjo uporabo |
3. |
Gnd |
Tla |
4. |
SDA |
To je I2C ura pin |
5. |
SCL |
I2C podatkovni zatič |
6. |
Zbudite se |
Budeči zatič senzorja mora biti povezan s tlemi, da lahko komunicira s senzorjem |
7. |
RST |
Ponastavitev zatiča: Ko je priključen na ozemljitev, se senzor sam ponastavi |
8. |
INT |
To je prekinitveni izhodni zatič, ki se uporablja za zaznavanje, kdaj je novo branje pripravljeno ali kdaj branje postane previsoko ali nizko |
Uporaba
- Pametni telefoni
- Nosljivi materiali
- Avtomatizacija domov in stavb
- Dodatki
Koda in razlaga
Na koncu je podana celotna koda Arduino za merjenje TVOC in CO2 z uporabo senzorja kakovosti zraka CCS811.
V spodnji kodi definiramo knjižnice za 16 * 2 LCD in CCS811 senzor kakovosti zraka. Za prenos knjižnice "Adafruit_CCS811.h" za CCS811 sledite tej povezavi.
#include
Spodaj smo opredelili zatiče za povezavo 16 * 2 LCD z Arduino.
LCD LiquidCrystal (12, 13, 8, 9, 10, 11); /// REGISTRIRANJE IZBIRE PIN, Omogoči PIN, D4 PIN, D5 PIN, D6 PIN, D7 PIN Adafruit_CCS811 cm
Spodaj smo nastavili LCD in CCS811 senzor kakovosti zraka in ga umerili za prikaz pravilne temperature, kot je prikazano v spodnji kodi, void setup () {lcd.begin (16, 2); ccs.begin (); // umerjanje temperaturnega senzorja medtem (! ccs.available ()); float temp = ccs.calculateTemperature (); ccs.setTempOffset (temp - 25,0); }
V spodnji kodi smo s funkcijami “ ccs.available ()” (funkcija je že definirana v knjižnici) preverili, ali prihaja nekaj podatkov. Ko dobimo podatke, lahko izračunamo temperaturo in jo prikažemo na 16 * 2 LCD.
Nadalje, če je CCS na voljo in ccs.readData () vrne false, dobimo vrednost CO2 z uporabo funkcije ccs.geteCO2 () in vrednost TVOC z uporabo ccs.getTVOC () , kot je prikazano v spodnji kodi. Zato smo s pomočjo senzorja kakovosti zraka CCS811 prejeli vrednost parametrov kakovosti zraka.
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 (niz ("CO2:") + niz (co2) + niz ("PPM")); lcd.setCursor (0, 1); lcd.print (String ("TVOC:") + String (tvoc) + String ("PPB")); lcd.print (niz ("T:" + niz (int (temp))) + niz ("C")); zamuda (3000); lcd.clear (); } else {lcd.print ("NAPAKA"); medtem ko (1); }}}
Popolna koda Arduino je navedena spodaj. Koda je preprosta, vse delo opravi njena knjižnica sama in uporabili smo funkcije, opredeljene v knjižnici CCS, da dobimo vrednosti CO2 in TOVC.
Preverite tudi:
- Sistem za spremljanje onesnaževanja zraka na osnovi IOT z uporabo Arduina
- Merjenje PPM iz plinskih senzorjev MQ z uporabo Arduina