- Komponen Diperlukan
- Modul Layar OLED 0,96 '
- Mempersiapkan Sensor MQ-135
- Diagram Sirkuit ke Antarmuka MQ135 dengan Arduino
- Menghitung R
- Kode Pengukuran CO2 Menggunakan Sensor Arduino MQ135
- Menguji Antarmuka Sensor MQ-135
Tingkat CO2 di atmosfer bumi meningkat dari hari ke hari. Karbon dioksida atmosfer rata-rata global pada 2019 adalah 409,8 bagian per juta dan pada Oktober-2020 adalah 411,29. Karbon dioksida adalah gas rumah kaca utama dan bertanggung jawab atas sekitar tiga perempat emisi. Jadi pemantauan tingkat CO2 juga mulai menjadi penting.
Dalam proyek kami sebelumnya, kami menggunakan sensor Gravity Infrared CO2 untuk mengukur konsentrasi CO2 di udara. Dalam proyek ini, kami akan menggunakan sensor MQ-135 dengan Arduino untuk mengukur konsentrasi CO2. Nilai konsentrasi CO2 yang terukur akan ditampilkan pada modul OLED dan terakhir kita juga akan membandingkan pembacaan sensor Arduino MQ-135 dengan pembacaan sensor Inframerah CO2. Selain CO2, kami juga mengukur konsentrasi gas LPG, Asap, dan Amonia dengan menggunakan Arduino.
Komponen Diperlukan
- Arduino Nano
- Sensor MQ-135
- Kabel Jumper
- Modul Layar OLED SPI 0,96 '
- Papan tempat memotong roti
- 22KΩ Resistor
Modul Layar OLED 0,96 '
OLED (Organic Light-Emitting Diodes) adalah teknologi pemancar cahaya mandiri, dibangun dengan menempatkan serangkaian film tipis organik di antara dua konduktor. Cahaya terang dihasilkan ketika arus listrik dialirkan ke film-film ini. OLED menggunakan teknologi yang sama seperti televisi, tetapi memiliki piksel lebih sedikit daripada kebanyakan TV kami.
Untuk proyek ini, kami menggunakan layar OLED Monokrom 7-pin SSD1306 0,96 ”. Ini dapat bekerja pada tiga protokol komunikasi yang berbeda: mode SPI 3 Wire, mode SPI empat kabel, dan mode I2C. Anda juga dapat mempelajari lebih lanjut tentang dasar-dasar layar OLED dan tipenya dengan membaca artikel terkait. Pin dan fungsinya dijelaskan pada tabel di bawah ini:
Nama Pin |
Nama lain |
Deskripsi |
Gnd |
Tanah |
Pin ground modul |
Vdd |
Vcc, 5V |
Pin daya (dapat ditoleransi 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 |
Mereset modul (berguna selama SPI) |
DC |
A0 |
Pin Perintah Data. Digunakan untuk protokol SPI |
CS |
Pilih Chip |
Berguna jika lebih dari satu modul digunakan di bawah protokol SPI |
Spesifikasi OLED:
- IC Driver OLED: SSD1306
- Resolusi: 128 x 64
- Sudut Visual:> 160 °
- Tegangan Input: 3.3V ~ 6V
- Warna Pixel: Biru
- Suhu kerja: -30 ° C ~ 70 ° C
Mempersiapkan Sensor MQ-135
Sensor Gas MQ-135 adalah sensor kualitas udara untuk mendeteksi berbagai macam gas, termasuk NH3, NOx, alkohol, bensin, asap, dan CO2. Sensor MQ-135 dapat dibeli sebagai modul atau hanya sebagai sensor saja. Dalam proyek ini, kami menggunakan modul sensor MQ-135 untuk mengukur konsentrasi CO2 di PPM. Diagram sirkuit untuk papan MQ-135 diberikan di bawah ini:
Resistor beban RL memegang peranan yang sangat penting dalam membuat sensor bekerja. Resistor ini mengubah nilai resistansinya sesuai dengan konsentrasi gas. Menurut lembar data MQ-135, nilai resistor beban dapat berkisar dari 10KΩ hingga 47KΩ. Lembar data merekomendasikan agar Anda mengkalibrasi detektor untuk konsentrasi alkohol 100ppm NH3 atau 50ppm di udara dan menggunakan nilai tahanan beban (RL) sekitar 20 KΩ. Tetapi jika Anda melacak jejak PCB Anda untuk menemukan nilai RL Anda di papan, Anda dapat melihat resistor beban 1KΩ (102).
Jadi untuk mengukur nilai konsentrasi CO2 yang sesuai, Anda harus mengganti resistor 1KΩ dengan resistor 22KΩ.
Diagram Sirkuit ke Antarmuka MQ135 dengan Arduino
Skema lengkap untuk menghubungkan Sensor Gas MQ-135 dengan Arduino diberikan di bawah ini:
Rangkaiannya sangat sederhana karena kami hanya menghubungkan Sensor MQ-135 dan modul Layar OLED dengan Arduino Nano. Sensor Gas MQ-135 dan modul Layar OLED keduanya didukung dengan + 5V dan GND. Pin Analog Out dari sensor MQ-135 terhubung ke pin A0 Arduino Nano. Karena modul Layar OLED menggunakan komunikasi SPI, kami telah membuat komunikasi SPI antara modul OLED dan Arduino Nano. Hubungannya ditunjukkan pada tabel di bawah ini:
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 menghubungkan perangkat keras sesuai dengan diagram rangkaian, pengaturan sensor Arduino MQ135 akan terlihat seperti di bawah ini:
Menghitung R
Sekarang setelah kita mengetahui nilai RL, mari kita lanjutkan dengan cara menghitung nilai R o di udara bersih. Di sini kita akan menggunakan MQ135.h untuk mengukur konsentrasi CO2 di udara. Jadi pertama-tama unduh Perpustakaan MQ-135, lalu panaskan sensor selama 24 jam sebelum membaca nilai R o. Setelah proses pemanasan awal, gunakan kode di bawah ini untuk membaca nilai R o:
#include "MQ135.h" void setup () {Serial.begin (9600); } loop kosong () {MQ135 gasSensor = MQ135 (A0); // Pasang sensor ke pin A0 float rzero = gasSensor.getRZero (); Serial.println (rzero); penundaan (1000); }
Sekarang setelah Anda mendapatkan nilai R o, Buka Dokumen> Arduino> perpustakaan> folder MQ135-master dan buka file MQ135.h dan ubah nilai RLOAD & RZERO.
/// Resistensi beban di papan #define RLOAD 22.0 /// Resistensi kalibrasi pada level CO2 atmosfer #define RZERO 5804.99
Sekarang scroll ke bawah dan ganti nilai ATMOCO2 dengan Atmospheric CO2 saat ini yaitu 411.29
/// Level CO2 atmosfer untuk tujuan kalibrasi #tentukan ATMOCO2 397.13
Kode Pengukuran CO2 Menggunakan Sensor Arduino MQ135
Kode lengkap untuk menghubungkan Sensor MQ-135 dengan Arduino diberikan di akhir dokumen. Di sini kami menjelaskan beberapa bagian penting dari kode Arduino MQ135.
Kode menggunakan perpustakaan Adafruit_GFX , dan Adafruit_SSD1306 , dan MQ135.h . Pustaka ini dapat diunduh dari Manajer Perpustakaan di Arduino IDE dan menginstalnya dari sana. Untuk itu, buka Arduino IDE dan masuk ke Sketch <Include Library <Manage Libraries . Sekarang cari Adafruit GFX dan instal perpustakaan Adafruit GFX oleh Adafruit.
Demikian pula, instal perpustakaan Adafruit SSD1306 oleh Adafruit. Perpustakaan MQ135 dapat diunduh dari sini.
Setelah menginstal perpustakaan ke Arduino IDE, mulai kode dengan memasukkan file perpustakaan yang diperlukan.
#include "MQ135.h" #include
Kemudian, tentukan lebar dan tinggi OLED. Dalam proyek ini, kami menggunakan layar OLED 128 × 64 SPI. Anda dapat mengubah variabel SCREEN_WIDTH , dan SCREEN_HEIGHT sesuai tampilan Anda.
# Tentukan SCREEN_WIDTH 128 # Tentukan SCREEN_HEIGHT 64
Kemudian tentukan pin komunikasi SPI di mana Layar OLED terhubung.
# Tentukan OLED_MOSI 9 # Tentukan OLED_CLK 10 # Tentukan OLED_DC 11 # Tentukan OLED_CS 12 # Tentukan OLED_RESET 13
Kemudian, buat instance tampilan Adafruit dengan lebar dan tinggi yang ditentukan sebelumnya dengan protokol komunikasi SPI.
Layar Adafruit_SSD1306 (SCREEN_WIDTH, SCREEN_HEIGHT, OLED_MOSI, OLED_CLK, OLED_DC, OLED_RESET, OLED_CS);
Setelah itu tentukan pin Arduino dimana sensor MQ-135 dihubungkan.
int sensorIn = A0;
Sekarang di dalam fungsi setup () , inisialisasi Monitor Serial pada baud rate 9600 untuk keperluan debugging. Juga, Inisialisasi tampilan OLED dengan fungsi begin () .
Serial.begin (9600); display.begin (SSD1306_SWITCHCAPVCC); display.clearDisplay ();
Di dalam fungsi loop () , pertama-tama baca nilai sinyal pada pin Analog Arduino dengan memanggil fungsi analogRead () .
val = analogRead (A0); Serial.print ("raw =");
Kemudian di baris berikutnya, panggil gasSensor.getPPM () untuk menghitung nilai PPM. Nilai PPM dihitung menggunakan resistor Beban, R 0, dan membaca dari pin analog.
float ppm = gasSensor.getPPM (); Serial.print ("ppm:"); Serial.println (ppm);
Setelah itu, setel ukuran teks dan warna teks menggunakan setTextSize () dan setTextColor () .
display.setTextSize (1); display.setTextColor (WHITE);
Kemudian di baris berikutnya, tentukan posisi di mana teks dimulai menggunakan metode setCursor (x, y) . Dan mencetak Nilai CO2 pada Layar 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 metode display () untuk menampilkan teks pada Layar OLED.
display.display (); display.clearDisplay ();
Menguji Antarmuka Sensor MQ-135
Setelah perangkat keras dan kode siap, sekarang saatnya menguji sensor. Untuk itu, hubungkan Arduino ke laptop, pilih Board dan Port, dan tekan tombol unggah. Kemudian buka monitor serial Anda dan tunggu beberapa saat (proses preheat), maka Anda akan melihat data akhir. Nilai akan ditampilkan pada layar OLED seperti yang ditunjukkan di bawah ini:
Beginilah cara sensor MQ-135 dapat digunakan untuk mengukur CO2 yang akurat di udara. Kode Arduino Sensor Kualitas Udara MQ135 lengkap dan video kerja diberikan di bawah ini. Jika Anda memiliki keraguan, tinggalkan di bagian komentar.