- Tarvittavat komponentit
- 0,96 tuuman OLED-näyttömoduuli
- MQ-135-anturin valmistelu
- Piirikaavio liitännästä MQ135 Arduinon kanssa
- R: n laskeminen
- Koodi CO2: n mittaamiseen Arduino MQ135 -anturilla
- MQ-135-anturin rajapinnan testaaminen
Maapallon ilmakehän CO2-taso kasvaa päivä päivältä. Maailman keskimääräinen ilmakehän hiilidioksidi vuonna 2019 oli 409,8 miljoonasosaa ja loka-2020 se on 411,29. Hiilidioksidi on tärkeä kasvihuonekaasu, joka aiheuttaa noin kolme neljäsosaa päästöistä. Joten myös CO2-tason seuranta on alkanut nousta merkitykseen.
Edellisessä projektissamme käytimme Gravity Infrared CO2 -anturia mittaamaan hiilidioksidipitoisuutta ilmassa. Tässä projektissa aiomme käyttää MQ-135-anturia Arduinon kanssa CO2-pitoisuuden mittaamiseen. Mitatut CO2-pitoisuusarvot näytetään OLED-moduulissa ja viimeiseksi verrataan myös Arduino MQ-135 -anturin lukemia infrapuna-CO2-anturin lukemiin. CO2: n lisäksi olemme myös mittaaneet nestekaasun, savun ja ammoniakin pitoisuudet Arduinolla.
Tarvittavat komponentit
- Arduino Nano
- MQ-135-anturi
- Neulalangat
- 0,96 tuuman SPI OLED -näyttömoduuli
- Leipälauta
- 22KΩ vastus
0,96 tuuman OLED-näyttömoduuli
OLED (Organic Light-Emitting Diodes) on itse valoa lähettävä tekniikka, joka on rakennettu asettamalla sarja orgaanisia ohuita kalvoja kahden johtimen väliin. Kirkas valo syntyy, kun sähkövirta kohdistetaan näihin kalvoihin. OLED-laitteet käyttävät samaa tekniikkaa kuin televisiot, mutta niissä on vähemmän pikseleitä kuin useimmissa televisioissamme.
Tässä projektissa käytämme yksiväristä 7-nastaista SSD1306 0,96 tuuman OLED-näyttöä. Se voi toimia kolmella eri tiedonsiirtoprotokollalla: SPI 3 -johdotila, nelijohtiminen SPI-tila ja I2C-tila. Voit myös oppia lisää OLED-näytön perusteista ja sen tyypeistä lukemalla linkitetyn artikkelin. Nastat ja sen toiminnot on selitetty alla olevassa taulukossa:
PIN-nimi |
Muut nimet |
Kuvaus |
Gnd |
Maa |
Moduulin maadoitettu tappi |
Vdd |
Vcc, 5 V |
Virtatappi (3-5V siedettävä) |
SCK |
D0, SCL, CLK |
Toimii kellotapina. Käytetään sekä I2C: lle että SPI: lle |
SDA |
D1, MOSI |
Moduulin datanasta. Käytetään sekä IIC: lle että SPI: lle |
RES |
RST, NOLLAA |
Nollaa moduulin (hyödyllinen SPI: n aikana) |
DC |
A0 |
Data Command -tappi. Käytetään SPI-protokollaan |
CS |
Sirun valinta |
Hyödyllinen, kun SPI-protokollassa käytetään useampaa kuin yhtä moduulia |
OLED-tekniset tiedot:
- OLED-ohjaimen IC: SSD1306
- Tarkkuus: 128 x 64
- Visuaalinen kulma:> 160 °
- Tulojännite: 3,3 V ~ 6 V
- Pikselin väri: sininen
- Käyttölämpötila: -30 ° C ~ 70 ° C
MQ-135-anturin valmistelu
MQ-135-kaasuanturi on ilmanlaatuanturi monenlaisten kaasujen, mukaan lukien NH3, NOx, alkoholi, bentseeni, savu ja CO2, havaitsemiseen. MQ-135-anturi voidaan ostaa joko moduulina tai pelkästään anturina. Tässä projektissa käytämme MQ-135-anturimoduulia CO2-pitoisuuden mittaamiseen PPM: ssä. MQ-135-piirilevyn kytkentäkaavio on annettu alla:
Kuormitusvastuksella RL on erittäin tärkeä rooli anturin toiminnassa. Tämä vastus muuttaa vastusarvoa kaasupitoisuuden mukaan. MQ-135-tietolomakkeen mukaan kuormitusvastuksen arvo voi vaihdella välillä 10KΩ - 47KΩ. Datalehdessä suositellaan, että ilmaisin kalibroidaan 100 ppm NH3: n tai 50 ppm alkoholipitoisuuden suhteen ilmassa ja käytetään noin 20 KΩ: n kuormitusvastuksen (RL) arvoa. Mutta jos seuraat piirilevyn jälkiä löytääksesi RL: n arvon taululta, näet 1KΩ (102) kuormitusvastuksen.
Joten mitata sopivat CO2-pitoisuusarvot, sinun on korvattava 1KΩ -vastus 22KΩ -vastuksella.
Piirikaavio liitännästä MQ135 Arduinon kanssa
Täydelliset kaaviot MQ-135-kaasuanturin liittämiseksi Arduinoon on annettu alla:
Piiri on hyvin yksinkertainen, koska yhdistämme vain MQ-135-anturin ja OLED-näyttömoduulin Arduino nanoon. MQ-135-kaasuanturi ja OLED-näyttömoduuli saavat virran + 5 V: lla ja GND: llä. MQ-135-anturin analoginen ulostulo on kytketty Arduino nanon A0-napaan. Koska OLED-näyttömoduuli käyttää SPI-viestintää, olemme perustaneet SPI-tiedonsiirron OLED-moduulin ja Arduino Nanon välille. Liitännät on esitetty alla olevassa taulukossa:
S. ei |
OLED-moduulin tappi |
Arduino Pin |
1 |
GND |
Maa |
2 |
VCC |
5 V |
3 |
D0 |
10 |
4 |
D1 |
9 |
5 |
RES |
13 |
6 |
DC |
11 |
7 |
CS |
12 |
Kun laitteisto on kytketty kytkentäkaavion mukaan, Arduino MQ135 -anturin asennuksen tulisi näyttää alla olevalta:
R: n laskeminen
Nyt kun tiedämme arvo RL, nyt edetä laskemisesta R O arvot puhtaassa ilmassa. Täällä aiomme käyttää MQ135.h: ta ilman CO2-pitoisuuden mittaamiseen. Joten lataa ensin MQ-135 kirjasto, sitten esilämmittää anturi 24 tuntia ennen lukemista R O arvoja. Jälkeen esikuumennusprosessissa, käytä alla koodia lukemaan R O arvot:
#include "MQ135.h" mitätön asennus () {Serial.begin (9600); } tyhjä silmukka () {MQ135 gasSensor = MQ135 (A0); // Kiinnitä anturi tapiin A0 float rzero = gasSensor.getRZero (); Serial.println (nolla); viive (1000); }
Nyt kun sait R O arvoja, valitse Dokumentit> Arduino> kirjastot> MQ135-master -kansio ja avaa MQ135.h tiedosto ja muuta RKUORMA & RZERO arvoja.
/// taulun kuormitusvastus #define RLOAD 22.0 /// kalibrointivastus ilmakehän CO2-tasolla #define RZERO 5804.99
Vieritä nyt alaspäin ja korvaa ATMOCO2-arvo nykyisellä ilmakehän CO2-arvolla, joka on 411,29
/// Ilmakehän CO2-taso kalibrointia varten #define ATMOCO2 397.13
Koodi CO2: n mittaamiseen Arduino MQ135 -anturilla
Täydellinen koodi MQ-135-anturin liittämiseen Arduinoon on annettu asiakirjan lopussa. Tässä selitämme joitain tärkeitä osia MQ135 Arduino -koodista.
Koodi käyttää Adafruit_GFX , ja Adafruit_SSD1306 , ja MQ135.h kirjastot. Nämä kirjastot voidaan ladata Arduino IDE: n Library Managerista ja asentaa se sieltä. Tätä varten avaa Arduino IDE ja siirry kohtaan Luonnos <Sisällytä kirjasto <Hallitse kirjastoja . Etsi nyt Adafruit GFX ja asenna Adafruit GFX -kirjasto.
Asenna vastaavasti Adafruit SSD1306 -kirjastot. MQ135-kirjasto voidaan ladata täältä.
Kun olet asentanut kirjastot Arduino IDE -ohjelmaan, käynnistä koodi sisällyttämällä tarvittavat kirjastotiedostot.
#include "MQ135.h" #include
Määritä sitten OLED-leveys ja -korkeus. Tässä projektissa käytämme 128 × 64 SPI OLED -näyttöä. Voit muuttaa muuttujia SCREEN_WIDTH ja SCREEN_HEIGHT näytön mukaan.
#define SCREEN_WIDTH 128 #define SCREEN_HEIGHT 64
Määritä sitten SPI-tiedonsiirtonastat, joihin OLED-näyttö on kytketty.
#define OLED_MOSI 9 #define OLED_CLK 10 #define OLED_DC 11 #define OLED_CS 12 #define OLED_RESET 13
Luo sitten Adafruit-näyttöesimerkki, jonka leveys ja korkeus on määritelty aiemmin SPI-yhteyskäytännöllä.
Adafruit_SSD1306-näyttö (SCREEN_WIDTH, SCREEN_HEIGHT, OLED_MOSI, OLED_CLK, OLED_DC, OLED_RESET, OLED_CS);
Määritä sen jälkeen Arduino-nasta, johon MQ-135-anturi on kytketty.
int-anturiIn = A0;
Aloita nyt setup () -toiminnon sisällä Serial Monitor 9600 -siirtonopeudella virheenkorjausta varten. Alusta myös OLED-näyttö Start () -toiminnolla.
Sarjan alku (9600); display.begin (SSD1306_SWITCHCAPVCC); display.clearDisplay ();
Loop- toiminnon sisällä lue ensin Arduinon analogisen nastan signaaliarvot kutsumalla analogRead () -toimintoa.
val = analoginen luku (A0); Sarjaprintti ("raaka =");
Sitten seuraavalla rivillä, soita gasSensor.getPPM () laskeaksesi PPM-arvot. PPM-arvot lasketaan käyttäen Load vastus, R 0, ja lukemisen analogisesta tappi.
kelluva ppm = gasSensor.getPPM (); Sarjaprintti ("ppm:"); Sarjaprintln (ppm);
Tämän jälkeen määritä tekstin koko ja tekstin väri käyttämällä setTextSize () ja setTextColor () .
display.setTextSize (1); display.setTextColor (VALKOINEN);
Määritä sitten seuraavalla rivillä sijainti, josta teksti alkaa käyttää setCursor (x, y) -menetelmää. Ja tulosta CO2-arvot OLED-näytölle käyttämällä toimintoa display.println () .
display.setCursor (18,43); display.println ("CO2"); display.setCursor (63,43); display.println ("(PPM)"); display.setTextSize (2); display.setCursor (28,5); display.println (ppm);
Ja viimeisessä, kutsu näyttö () -menetelmää näyttääksesi tekstin OLED-näytössä.
display.display (); display.clearDisplay ();
MQ-135-anturin rajapinnan testaaminen
Kun laitteisto ja koodi ovat valmiit, on aika testata anturi. Liitä Arduino kannettavaan tietokoneeseen, valitse alusta ja portti ja paina latauspainiketta. Avaa sitten sarjamittari ja odota jonkin aikaa (esilämmitys), niin näet lopulliset tiedot. Arvot näytetään OLED-näytöllä alla olevan kuvan mukaisesti:
Näin MQ-135-anturia voidaan käyttää mittaamaan tarkka CO2 ilmassa. Täydellinen MQ135-ilmanlaatuanturin Arduino-koodi ja toimiva video on esitetty alla. Jos sinulla on epäilyksiä, jätä ne kommenttiosioon.