"Dessverre, i fremdriftens navn, har vi forurenset luft, vann, jord og maten vi spiser". Så det er veldig viktig å overvåke luftkvaliteten nå på grunn av forurensning. For å designe et luftkvalitetsovervåkingssystem trenger vi holdbar og pålitelig luftkvalitetssensor. Selv om det er mange luftkvalitetsparametere, men de viktigste er CO2 og TVOC. Så for å registrere CO2 og TVOC bruker vi CCS811 luftkvalitetssensor.
I denne opplæringen skal vi vise deg hvordan du kan fornemme TVOC og CO2 ved hjelp av CCS811 luftkvalitetssensor med Arduino. Du vil også lære å grensesnitt CSS811 med Arduino.
Nødvendig materiale
- Arduino UNO
- CCS811 Luftkvalitetssensor
- Potensiometer (10k)
- LCD 16 * 2
- Brettbrett
- Koble ledninger
Kretsdiagram
CCS811 Luftkvalitetssensor
CCS811 luftkvalitetssensor er en digital gassensor med lav lav effekt som integrerer en gassføler fra MOX (metalloksid) for å oppdage et bredt spekter av VOC (Volatile Organic Compounds) for innendørs luftkvalitetsovervåking med en integrert MCU (Micro-controller Unit). MCU består av ADC (Analog-til-Digital Converter) og I2C-grensesnitt. Det er basert på en ams unike mikro kokeplate teknologi som gjør det mulig for meget pålitelige løsninger for gass-sensorer, med lavt strømforbruk.
I vår krets bruker vi denne sensoren til å registrere TVOC og CO2 tilgjengelig i miljøet og vise dataene på 16 * 2 LCD.
Pin-konfigurasjon
Pin nr. |
Pin-navn |
Beskrivelse |
1 |
Vin |
Inngangsforsyning (3,3 v til 5 v) |
2 |
3V3 |
3.3V utgangsstift for ekstern bruk |
3 |
Gnd |
Bakke |
4 |
SDA |
Dette er I2C klokkestift |
5 |
SCL |
I2C datapinne |
6 |
VÅKNE |
Wakeup Pin av sensoren, skal kobles til bakken for å kommunisere med sensoren |
7 |
RST |
Tilbakestill pin: Når den er koblet til jord, tilbakestilles sensoren selv |
8 |
INT |
Dette er interrupt output pin, brukes til å oppdage når en ny avlesning er klar eller når en avlesning blir for høy eller lav |
applikasjon
- Smarttelefoner
- Slitasje
- Hjemme- og bygningsautomatisering
- Tilbehør
Kode og forklaring
Den komplette Arduino-koden for TVOC og CO2-måling ved hjelp av CCS811 luftkvalitetssensor er gitt på slutten.
I koden nedenfor definerer vi bibliotekene for 16 * 2 LCD og CCS811 luftkvalitetssensor. For å laste ned biblioteket "Adafruit_CCS811.h" for CCS811, følg denne lenken.
#inkludere
Nedenfor har vi definert Pins for tilkobling av 16 * 2 LCD med Arduino.
LiquidCrystal lcd (12, 13, 8, 9, 10, 11); /// REGISTRER VALG PIN, AKTIVER PIN, D4 PIN, D5 PIN, D6 PIN, D7 PIN Adafruit_CCS811 ccs;
Nedenfor har vi satt opp LCD og CCS811 luftkvalitetssensor og kalibrert den for å vise riktig temperatur, som vist i koden nedenfor, ugyldig oppsett () {lcd.begin (16, 2); ccs.begin (); // kalibrer temperaturføler mens (! ccs.available ()); float temp = ccs.calculateTemperature (); ccs.setTempOffset (temp - 25.0); }
I koden nedenfor brukte vi funksjonene " ccs.available ()" (Funksjonen er allerede definert i biblioteket) for å sjekke om det kommer noen data. Når vi får dataene, kan vi beregne temperaturen og vise den på 16 * 2 LCD.
Videre hvis CCS er tilgjengelig og ccs.readData () returnerer falsk, får vi CO2-verdien ved hjelp av funksjonen ccs.geteCO2 () og TVOC-verdien ved hjelp av ccs.getTVOC () , som vist i koden nedenfor. Derfor har vi mottatt verdien av luftkvalitetsparametere ved hjelp av CCS811 luftkvalitetssensor.
ugyldig sløyfe () {if (ccs.available ()) {float temp = ccs.calculateTemperature (); hvis (! 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")); forsinkelse (3000); lcd.clear (); } annet {lcd.print ("FEIL"); mens (1); }}}
Komplett Arduino-kode er gitt nedenfor. Koden er enkel, alt arbeidet gjøres av selve biblioteket, og vi har brukt funksjoner definert i CCS-biblioteket for å få verdiene til CO2 og TOVC.
Sjekk også:
- IOT-basert luftforurensningsovervåkingssystem ved hjelp av Arduino
- Måling av PPM fra MQ gassensorer ved bruk av Arduino