- Nepieciešamās sastāvdaļas
- 0,96 'OLED displeja modulis
- MQ-135 sensora sagatavošana
- Shēmas shēma MQ135 saskarnei ar Arduino
- R aprēķināšana
- Kods CO2 mērīšanai, izmantojot Arduino MQ135 sensoru
- MQ-135 sensora saskarnes pārbaude
Zemes CO2 līmenis atmosfērā pieaug katru dienu. Globālais vidējais oglekļa dioksīda daudzums atmosfērā 2019. gadā bija 409,8 promiles un 2020. gada oktobrī tas ir 411,29. Oglekļa dioksīds ir galvenā siltumnīcefekta gāze, kas rada apmēram trīs ceturtdaļas emisiju. Tātad arī CO2 līmeņa monitorings ir kļuvis nozīmīgāks.
Iepriekšējā projektā mēs izmantojām Gravity Infrared CO2 sensoru, lai izmērītu CO2 koncentrāciju gaisā. Šajā projektā CO2 koncentrācijas mērīšanai mēs izmantosim MQ-135 sensoru ar Arduino. Izmērītās CO2 koncentrācijas vērtības tiks parādītas OLED modulī, un pēdējais salīdzināsim arī Arduino MQ-135 sensora rādījumus ar infrasarkanā CO2 sensora rādījumiem. Bez CO2, mēs arī esam izmērījuši LPG, dūmu un amonjaka gāzes koncentrāciju, izmantojot Arduino.
Nepieciešamās sastāvdaļas
- Arduino Nano
- MQ-135 sensors
- Džemperu vadi
- 0,96 'SPI OLED displeja modulis
- Maizes dēlis
- 22KΩ rezistors
0,96 'OLED displeja modulis
OLED (organiskās gaismu izstarojošās diodes) ir automātiska gaismu izstarojoša tehnoloģija, kas konstruēta, starp diviem vadītājiem ievietojot vairākas organiskas plānas plēves. Spilgta gaisma rodas, ja šīm plēvēm tiek uzlikta elektriskā strāva. OLED izmanto to pašu tehnoloģiju kā televizori, taču tiem ir mazāk pikseļu nekā lielākajā daļā mūsu televizoru.
Šajā projektā mēs izmantojam vienkrāsainu 7 kontaktu SSD1306 0,96 ”OLED displeju. Tas var darboties trīs dažādos sakaru protokolos: SPI 3 vadu režīmā, SPI četru vadu režīmā un I2C režīmā. Lasot saistīto rakstu, varat arī uzzināt vairāk par OLED displeja pamatiem un tā veidiem. Adatas un tās funkcijas ir paskaidrotas zemāk esošajā tabulā:
Piespraudes nosaukums |
Citi vārdi |
Apraksts |
Gnd |
Zeme |
Moduļa zemējuma tapa |
Vdd |
Vcc, 5V |
Barošanas tapa (3-5V pieļaujama) |
SCK |
D0, SCL, CLK |
Darbojas kā pulksteņa tapa. Izmanto gan I2C, gan SPI |
SDA |
D1, MOSI |
Moduļa datu tapa. Izmanto gan IIC, gan SPI |
RES |
RST, ATIESTATĪT |
Modulis tiek atiestatīts (noderīgs SPI laikā) |
DC |
A0 |
Datu komandas piespraude. Izmanto SPI protokolam |
CS |
Chip Select |
Noderīgi, ja SPI protokolā tiek izmantoti vairāki moduļi |
OLED specifikācijas:
- OLED draivera IC: SSD1306
- Izšķirtspēja: 128 x 64
- Vizuālais leņķis:> 160 °
- Ieejas spriegums: 3.3V ~ 6V
- Pikseļu krāsa: zila
- Darba temperatūra: -30 ° C ~ 70 ° C
MQ-135 sensora sagatavošana
MQ-135 gāzes sensors ir gaisa kvalitātes sensors plaša spektra gāzu noteikšanai, ieskaitot NH3, NOx, spirtu, benzolu, dūmus un CO2. MQ-135 sensoru var iegādāties gan kā moduli, gan tikai kā sensoru atsevišķi. Šajā projektā mēs izmantojam MQ-135 sensoru moduli, lai izmērītu CO2 koncentrāciju PPM. MQ-135 plates shēmas shēma ir sniegta zemāk:
Slodzes rezistoram RL ir ļoti svarīga loma sensora darbībā. Šis rezistors maina pretestības vērtību atbilstoši gāzes koncentrācijai. Saskaņā ar MQ-135 datu lapu slodzes rezistora vērtība var svārstīties no 10KΩ līdz 47KΩ. Datu lapa iesaka kalibrēt detektoru 100 ppm NH3 vai 50 ppm alkohola koncentrācijai gaisā un izmantot slodzes pretestības (RL) vērtību aptuveni 20 KΩ. Bet, ja izsekojat PCB pēdas, lai dēlī atrastu RL vērtību, jūs varat redzēt 1KΩ (102) slodzes rezistoru.
Tātad, lai izmērītu atbilstošās CO2 koncentrācijas vērtības, jums jāmaina 1KΩ rezistors ar 22KΩ rezistoru.
Shēmas shēma MQ135 saskarnei ar Arduino
Pilna shēma MQ-135 gāzes sensora savienošanai ar Arduino ir sniegta zemāk:
Ķēde ir ļoti vienkārša, jo mēs tikai savienojam MQ-135 sensoru un OLED displeja moduli ar Arduino Nano. Gāzes sensors MQ-135 un OLED displeja modulis tiek darbināti ar + 5V un GND. MQ-135 sensora analogās izejas tapa ir savienota ar Arduino Nano A0 tapu. Tā kā OLED displeja modulis izmanto SPI komunikāciju, mēs esam izveidojuši SPI komunikāciju starp OLED moduli un Arduino Nano. Savienojumi ir parādīti zemāk esošajā tabulā:
S.No |
OLED moduļa tapa |
Arduino tapa |
1 |
GND |
Zeme |
2 |
VCC |
5V |
3 |
D0 |
10 |
4 |
D1 |
9 |
5 |
RES |
13 |
6 |
DC |
11 |
7 |
CS |
12 |
Pēc aparatūras pievienošanas saskaņā ar shēmu Arduino MQ135 sensora iestatījumam vajadzētu izskatīties šādi:
R aprēķināšana
Tagad, kad mēs zinām RL vērtību, turpināsim, kā aprēķināt R o vērtības tīrā gaisā. Šeit mēs izmantosim MQ135.h, lai izmērītu CO2 koncentrāciju gaisā. Tāpēc vispirms lejupielādējiet MQ-135 bibliotēku, pēc tam 24 stundas pirms R o vērtību nolasīšanas uzsildiet sensoru. Pēc priekšsildīšanas procesa izmantojiet šo kodu, lai nolasītu R o vērtības:
#include "MQ135.h" void iestatīšana () {Serial.begin (9600); } void loop () {MQ135 gasSensor = MQ135 (A0); // Pievienojiet sensoru tapai A0 pludiņš rzero = gasSensor.getRZero (); Serial.println (rzero); kavēšanās (1000); }
Tagad, kad jums R o vērtības, dodieties uz Dokumenti> Arduino> Bibliotēkas> MQ135-master mapi un atveriet MQ135.h failu un mainīt RLOAD & RZERO vērtības.
/// Kravas pretestība uz tāfeles #define RLOAD 22.0 /// Kalibrēšanas pretestība atmosfēras CO2 līmenī #define RZERO 5804.99
Tagad ritiniet uz leju un aizstājiet ATMOCO2 vērtību ar pašreizējo Atmosfēras CO2, kas ir 411,29
/// CO2 līmenis atmosfērā kalibrēšanas vajadzībām #define ATMOCO2 397.13
Kods CO2 mērīšanai, izmantojot Arduino MQ135 sensoru
Pilns kods MQ-135 sensora saskarnei ar Arduino ir norādīts dokumenta beigās. Šeit mēs izskaidrojam dažas svarīgas MQ135 Arduino koda daļas.
Kods izmanto Adafruit_GFX , un Adafruit_SSD1306 , un MQ135.h bibliotēkas. Šīs bibliotēkas var lejupielādēt no bibliotēku pārvaldnieka Arduino IDE un instalēt to no turienes. Lai to izdarītu, atveriet Arduino IDE un dodieties uz Skice <Iekļaut bibliotēku <Pārvaldīt bibliotēkas . Tagad meklējiet Adafruit GFX un instalējiet Adafruit GFX bibliotēku.
Līdzīgi instalējiet Adafruit SSD1306 bibliotēkas. MQ135 bibliotēku var lejupielādēt šeit.
Pēc bibliotēku instalēšanas Arduino IDE sāciet kodu, iekļaujot nepieciešamos bibliotēku failus.
#include "MQ135.h" #include
Pēc tam definējiet OLED platumu un augstumu. Šajā projektā mēs izmantojam 128 × 64 SPI OLED displeju. Mainītājus SCREEN_WIDTH un SCREEN_HEIGHT varat mainīt atbilstoši savam displejam.
#define SCREEN_WIDTH 128 #define SCREEN_HEIGHT 64
Pēc tam definējiet SPI sakaru tapas, kur ir pievienots OLED displejs.
#define OLED_MOSI 9 #define OLED_CLK 10 #define OLED_DC 11 #define OLED_CS 12 #define OLED_RESET 13
Pēc tam izveidojiet Adafruit displeja gadījumu ar platumu un augstumu, kas iepriekš noteikts ar SPI sakaru protokolu.
Adafruit_SSD1306 displejs (SCREEN_WIDTH, SCREEN_HEIGHT, OLED_MOSI, OLED_CLK, OLED_DC, OLED_RESET, OLED_CS);
Pēc tam definējiet Arduino tapu vietā, kur ir savienots MQ-135 sensors.
int sensorsIn = A0;
Tagad iestatīšanas () funkcijas iekšpusē inicializējiet sērijas monitoru ar 9600 datu pārraides ātrumu atkļūdošanas vajadzībām. Inicializējiet arī OLED displeju ar sākuma () funkciju.
Sērijas sākums (9600); display.begin (SSD1306_SWITCHCAPVCC); display.clearDisplay ();
Funkcijas loop () iekšpusē vispirms nolasiet signāla vērtības Arduino analogajā tapā, izsaucot funkciju analogRead () .
val = analogRead (A0); Sērijas.druka ("raw =");
Pēc tam nākamajā rindā izsauciet gasSensor.getPPM (), lai aprēķinātu PPM vērtības. PPM vērtības tiek aprēķinātas, izmantojot slodzes rezistoru R 0 un nolasīšanu no analogās tapas.
pludiņš ppm = gasSensor.getPPM (); Sērijas.druka ("ppm:"); Sērijas.println (ppm);
Pēc tam iestatiet teksta izmēru un krāsu, izmantojot setTextSize () un setTextColor () .
display.setTextSize (1); display.setTextColor (BALTS);
Pēc tam nākamajā rindā definējiet pozīciju, kurā teksts sākas, izmantojot metodi setCursor (x, y) . Un izdrukājiet CO2 vērtības OLED displejā, izmantojot display.println () funkciju.
display.setCursor (18,43); display.println ("CO2"); display.setCursor (63,43); display.println ("(PPM)"); display.setTextSize (2); display.setCursor (28,5); display.println (ppm);
Un pēdējā, izsauciet display () metodi, lai parādītu tekstu OLED Display.
display.display (); display.clearDisplay ();
MQ-135 sensora saskarnes pārbaude
Kad aparatūra un kods ir gatavi, ir pienācis laiks pārbaudīt sensoru. Lai to izdarītu, pievienojiet Arduino klēpjdatoram, atlasiet Board un Port un nospiediet augšupielādes pogu. Pēc tam atveriet sērijveida monitoru un pagaidiet kādu laiku (priekšsildīšanas process), tad jūs redzēsiet galīgos datus. Vērtības tiks parādītas OLED displejā, kā parādīts zemāk:
Šādi MQ-135 sensoru var izmantot, lai izmērītu precīzu CO2 daudzumu gaisā. Pilns MQ135 gaisa kvalitātes sensora Arduino kods un darba video ir sniegti zemāk. Ja jums ir kādas šaubas, atstājiet tos komentāru sadaļā.