- Komponen Diperlukan
- Modul Paparan OLED 0.96 '
- Menyiapkan Sensor MQ-135
- Litar Diagram ke Antaramuka MQ135 dengan Arduino
- Mengira R
- Kod untuk Mengukur CO2 Menggunakan Arduino MQ135 Sensor
- Menguji Interfacing Sensor MQ-135
Tahap CO2 Atmosfera bumi meningkat dari hari ke hari. Purata global karbon dioksida atmosfera pada tahun 2019 adalah 409.8 bahagian per juta dan pada bulan Oktober-2020 ia adalah 411.29. Karbon dioksida adalah gas rumah hijau utama dan bertanggungjawab untuk sekitar tiga perempat pelepasan. Oleh itu, pemantauan tahap CO2 juga mula menjadi penting.
Dalam projek sebelumnya, kami menggunakan sensor CO2 Gravity Infrared untuk mengukur kepekatan CO2 di udara. Dalam projek ini, kita akan menggunakan sensor MQ-135 dengan Arduino untuk mengukur kepekatan CO2. Nilai kepekatan CO2 yang diukur akan dipaparkan pada modul OLED dan terakhir kami juga akan membandingkan bacaan sensor Arduino MQ-135 dengan bacaan sensor CO2 Inframerah. Selain CO2, kami juga mengukur kepekatan gas LPG, Asap, dan Ammonia menggunakan Arduino.
Komponen Diperlukan
- Arduino Nano
- Sensor MQ-135
- Wayar Pelompat
- Modul Paparan OLED 0.96 'SPI
- Papan roti
- Perintang 22KΩ
Modul Paparan OLED 0.96 '
OLED (Organic Light-Emitting Diodes) adalah teknologi pemancar cahaya diri, yang dibina dengan meletakkan serangkaian filem nipis organik di antara dua konduktor. Cahaya terang dihasilkan apabila arus elektrik digunakan pada filem-filem ini. OLED menggunakan teknologi yang sama dengan televisyen, tetapi mempunyai piksel lebih sedikit daripada di kebanyakan TV kami.
Untuk projek ini, kami menggunakan paparan OLED Monochrome 7-pin SSD1306 0.96 ”. Ia boleh berfungsi pada tiga protokol komunikasi yang berbeza: mod Wire SPI 3, mod empat wayar SPI, dan mod I2C. Anda juga boleh mengetahui lebih lanjut mengenai asas-asas paparan OLED dan jenisnya dengan membaca artikel yang dipautkan. Pin dan fungsinya dijelaskan dalam jadual di bawah:
Nama Pin |
Nama lain |
Penerangan |
Gnd |
Tanah |
Pin bawah modul |
Vdd |
Vcc, 5V |
Pin kuasa (boleh tahan 3-5V) |
SCK |
D0, SCL, CLK |
Bertindak sebagai pin jam. Digunakan untuk I2C dan SPI |
SDA |
D1, MOSI |
Pin data modul. Digunakan untuk IIC dan SPI |
RES |
RST, RESET |
Tetapkan semula modul (berguna semasa SPI) |
DC |
A0 |
Pin Perintah Data. Digunakan untuk protokol SPI |
CS |
Pilih Cip |
Berguna apabila lebih daripada satu modul digunakan di bawah protokol SPI |
Spesifikasi OLED:
- IC Pemandu OLED: SSD1306
- Resolusi: 128 x 64
- Sudut Visual:> 160 °
- Voltan Input: 3.3V ~ 6V
- Warna Pixel: Biru
- Suhu kerja: -30 ° C ~ 70 ° C
Menyiapkan Sensor MQ-135
Sensor Gas MQ-135 adalah sensor kualiti udara untuk mengesan pelbagai gas, termasuk NH3, NOx, alkohol, benzena, asap, dan CO2. Sensor MQ-135 boleh dibeli sebagai modul atau hanya sebagai sensor sahaja. Dalam projek ini, kami menggunakan modul sensor MQ-135 untuk mengukur kepekatan CO2 dalam PPM. Gambarajah litar untuk papan MQ-135 diberikan di bawah:
Perintang beban RL memainkan peranan yang sangat penting dalam membuat sensor berfungsi. Perintang ini mengubah nilai rintangannya mengikut kepekatan gas. Menurut lembaran data MQ-135, nilai perintang beban boleh berkisar antara 10KΩ hingga 47KΩ. Lembar data mengesyorkan agar anda mengkalibrasi pengesan untuk kepekatan alkohol 100 ppm NH3 atau 50ppm di udara dan menggunakan nilai rintangan beban (RL) sekitar 20 KΩ. Tetapi jika anda mengesan jejak PCB anda untuk mencari nilai RL anda di papan, anda dapat melihat perintang beban 1KΩ (102).
Oleh itu, untuk mengukur nilai kepekatan CO2 yang sesuai, anda harus mengganti perintang 1KΩ dengan perintang 22KΩ.
Litar Diagram ke Antaramuka MQ135 dengan Arduino
Skema lengkap untuk menghubungkan Sensor Gas MQ-135 dengan Arduino diberikan di bawah:
Litarnya sangat mudah kerana kami hanya menghubungkan modul Sensor MQ-135 dan OLED Display dengan Arduino Nano. Modul Sensor Gas MQ-135 dan OLED Display kedua-duanya dikuasakan dengan + 5V dan GND. Pin Analog Out sensor MQ-135 disambungkan ke pin A0 Arduino Nano. Oleh kerana modul OLED Display menggunakan komunikasi SPI, kami telah mewujudkan komunikasi SPI antara modul OLED dan Arduino Nano. Sambungan ditunjukkan dalam jadual di bawah:
S.No |
Pin Modul OLED |
Pin Arduino |
1 |
GND |
Tanah |
2 |
VCC |
5V |
3 |
D0 |
10 |
4 |
D1 |
9 |
5 |
RES |
13 |
6 |
DC |
11 |
7 |
CS |
12 |
Setelah menyambungkan perkakasan mengikut gambarajah litar, persediaan sensor Arduino MQ135 akan kelihatan seperti di bawah:
Mengira R
Sekarang setelah kita mengetahui nilai RL, mari kita lanjutkan bagaimana menghitung nilai R o di udara bersih. Di sini kita akan menggunakan MQ135.h untuk mengukur kepekatan CO2 di udara. Oleh itu, muat turun Perpustakaan MQ-135 terlebih dahulu, kemudian panaskan sensor selama 24 jam sebelum membaca nilai R o. Selepas proses pemanasan, gunakan kod di bawah untuk membaca nilai R o:
#masuk penyediaan tidak sah "MQ135.h" () {Serial.begin (9600); } gelung kosong () {MQ135 gasSensor = MQ135 (A0); // Pasang sensor ke pin A0 float rzero = gasSensor.getRZero (); Serial.println (rzero); kelewatan (1000); }
Sekarang setelah anda mendapat nilai R o, Pergi ke Dokumen> Arduino> perpustakaan> folder master MQ135 dan buka fail MQ135.h dan ubah nilai RLOAD & RZERO.
/// Rintangan beban di papan #define RLOAD 22.0 /// Tahanan penentukuran pada tahap CO2 atmosfera #define RZERO 5804.99
Sekarang tatal ke bawah dan ganti nilai ATMOCO2 dengan Atmospheric CO2 semasa iaitu 411.29
/// Tahap CO2 atmosfera untuk tujuan penentukuran # tentukan ATMOCO2 397.13
Kod untuk Mengukur CO2 Menggunakan Arduino MQ135 Sensor
Kod lengkap untuk menghubungkan Sensor MQ-135 dengan Arduino diberikan di akhir dokumen. Di sini kami menerangkan beberapa bahagian penting dari kod MQ135 Arduino.
Kod ini menggunakan perpustakaan Adafruit_GFX , dan Adafruit_SSD1306 , dan MQ135.h . Perpustakaan ini boleh dimuat turun dari Pengurus Perpustakaan di Arduino IDE dan memasangnya dari sana. Untuk itu, buka Arduino IDE dan pergi ke Sketch <Include Library <Manage Libraries . Sekarang cari Adafruit GFX dan pasang perpustakaan Adafruit GFX oleh Adafruit.
Begitu juga, pasang perpustakaan Adafruit SSD1306 oleh Adafruit. Perpustakaan MQ135 boleh dimuat turun dari sini.
Setelah memasang perpustakaan ke Arduino IDE, mulakan kod dengan memasukkan fail perpustakaan yang diperlukan.
#sertakan "MQ135.h" #sertakan
Kemudian, tentukan lebar dan tinggi OLED. Dalam projek ini, kami menggunakan paparan OLED 128 × 64 SPI. Anda boleh mengubah pemboleh ubah SCREEN_WIDTH , dan SCREEN_HEIGHT mengikut paparan anda.
#tentukan SCREEN_WIDTH 128 #tentukan SCREEN_HEIGHT 64
Kemudian tentukan pin komunikasi SPI di mana Paparan OLED disambungkan.
#tentukan OLED_MOSI 9 #tentukan OLED_CLK 10 #tentukan OLED_DC 11 #tentukan OLED_CS 12 #tentukan OLED_RESET 13
Kemudian, buat contoh paparan Adafruit dengan lebar dan ketinggian yang ditentukan sebelumnya dengan protokol komunikasi SPI.
Paparan Adafruit_SSD1306 (SCREEN_WIDTH, SCREEN_HEIGHT, OLED_MOSI, OLED_CLK, OLED_DC, OLED_RESET, OLED_CS);
Selepas itu, tentukan pin Arduino di mana sensor MQ-135 disambungkan.
int sensorIn = A0;
Sekarang di dalam fungsi setup () , mulakan Monitor Serial pada kadar baud 9600 untuk tujuan penyahpepijatan. Juga, Memulakan paparan OLED dengan fungsi mula () .
Serial.begin (9600); display.begin (SSD1306_SWITCHCAPVCC); display.clearDisplay ();
Di dalam fungsi gelung () , baca dahulu nilai isyarat pada pin Analog Arduino dengan memanggil fungsi analogRead () .
val = analogRead (A0); Serial.print ("raw =");
Kemudian pada baris seterusnya, panggil gasSensor.getPPM () untuk mengira nilai PPM. Nilai PPM dikira menggunakan Load resistor, R 0, dan bacaan dari pin analog.
apungan ppm = gasSensor.getPPM (); Serial.print ("ppm:"); Serial.println (ppm);
Selepas itu, tetapkan ukuran teks dan warna teks menggunakan setTextSize () dan setTextColor () .
display.setTextSize (1); display.setTextColor (PUTIH);
Kemudian pada baris seterusnya, tentukan kedudukan di mana teks mula menggunakan kaedah setCursor (x, y) . Dan cetak Nilai CO2 pada Paparan OLED menggunakan fungsi 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);
Dan terakhir, panggil kaedah display () untuk memaparkan teks pada OLED Display.
paparan.display (); display.clearDisplay ();
Menguji Interfacing Sensor MQ-135
Setelah perkakasan dan kod siap, sudah tiba masanya untuk menguji sensor. Untuk itu, sambungkan Arduino ke komputer riba, pilih Papan dan Pelabuhan, dan tekan butang muat naik. Kemudian buka monitor bersiri anda dan tunggu sebentar (proses panaskan), maka anda akan melihat data akhir. Nilai akan dipaparkan pada paparan OLED seperti gambar di bawah:
Ini adalah bagaimana sensor MQ-135 dapat digunakan untuk mengukur CO2 yang tepat di udara. Kod Arduino Sensor Kualiti Udara MQ135 lengkap dan video kerja diberikan di bawah. Sekiranya anda mempunyai keraguan, tinggalkan di bahagian komen.