Pertemuan 10
Sensor Gas MQ-135 & Modul Relay
Peringatan keselamatan: Sisi beban relay bisa terhubung tegangan AC rumah yang berbahaya bagi nyawa. Untuk latihan kelas, gunakan beban DC tegangan rendah saja dan jangan bereksperimen dengan AC 220V tanpa pengawasan langsung instruktur.
Tujuan Pembelajaran
- Memahami prinsip kerja sensor gas MQ-135.
- Memahami fungsi relay sebagai saklar elektronik untuk beban berarus lebih besar.
- Mampu menggabungkan sensor gas dengan relay sebagai sistem otomatis (misalnya kipas exhaust otomatis).
Penjelasan Konsep
Sensor Gas MQ-135
MQ-135 adalah sensor gas yang sensitif terhadap amonia, NOx, alkohol, benzena, asap, CO2, dan senyawa berbahaya lain di udara - sering dipakai untuk memantau kualitas udara. Sensor ini punya elemen pemanas kecil di dalamnya, sehingga butuh waktu pemanasan (warm-up) sebelum pembacaan stabil (idealnya beberapa menit, untuk latihan kelas kita gunakan waktu singkat sebagai simulasi). Output berupa nilai analog: semakin tinggi konsentrasi gas terdeteksi, semakin besar nilainya.
Apa itu relay?
Relay adalah saklar elektromekanik yang dikendalikan oleh sinyal listrik kecil dari mikrokontroler, tapi mampu menyambung/memutus arus yang jauh lebih besar (termasuk tegangan AC listrik rumah). Modul relay punya dua sisi yang terisolasi secara elektrik:
- Sisi kontrol - pin VCC, GND, IN yang tersambung ke mikrokontroler (tegangan rendah, aman).
- Sisi beban - terminal COM, NO (Normally Open), NC (Normally Closed) yang tersambung ke beban seperti kipas/lampu.
PERINGATAN KESELAMATAN PENTING: Sisi beban relay bisa terhubung ke listrik AC rumah (220V) yang berbahaya bagi nyawa. Untuk latihan di kelas, gunakan beban DC tegangan rendah (misalnya kipas DC kecil, lampu DC) yang aman disentuh. Jangan bereksperimen dengan listrik AC rumah tanpa pengawasan langsung guru/instruktur yang berkompeten.
Kombinasi praktis
Gas sensor + relay adalah contoh nyata otomatisasi: jika kualitas udara memburuk (nilai MQ-135 tinggi), aktifkan relay untuk menyalakan kipas exhaust/ventilasi secara otomatis - pola "baca sensor → ambil keputusan → kendalikan aktuator" yang akan terus dipakai di Semester 2.
Kesalahan umum
- Tidak memberi waktu pemanasan MQ-135 - elemen pemanas sensor gas butuh waktu untuk stabil (idealnya beberapa menit di kondisi nyata); pembacaan sebelum stabil bisa jauh meleset dan tidak konsisten.
- Salah asumsi polaritas relay - banyak modul relay murah bersifat aktif-LOW (relay menyala justru saat pin IN diberi LOW), kebalikan dari intuisi. Selalu cek datasheet/label modul, jangan asumsi aktif-HIGH.
- Menyambung beban AC langsung tanpa pengawasan - inilah risiko keselamatan utama pertemuan ini, dibahas detail di peringatan di bawah.
- Tidak memakai ambang batas dengan histeresis - jika ambang batas ON dan OFF memakai nilai persis sama, relay bisa "kedap-kedip" cepat (chattering) saat nilai gas berada tepat di sekitar ambang batas.
Komponen yang Dibutuhkan
- 1x Arduino Uno atau ESP32
- 1x Sensor Gas MQ-135
- 1x Modul Relay 1 channel
- 1x Beban DC tegangan rendah untuk latihan (misalnya kipas DC kecil + catu dayanya)
- Breadboard, kabel jumper
Diagram / Skema Pengkabelan
Sensor MQ-135:
VCC -> 5V
GND -> GND
AO -> pin analog (mis. A0)
Modul Relay -> Mikrokontroler:
VCC -> 5V
GND -> GND
IN -> pin digital (mis. D7)
Modul Relay -> Beban (gunakan beban DC tegangan rendah untuk latihan):
COM -> kutub (+) catu daya beban
NO -> kutub (+) beban
Kutub (-) beban -> kutub (-) catu daya beban
Untuk latihan kelas, hindari sisi beban AC 220V. Fokus memahami konsep "sensor memicu relay" lewat beban DC yang aman terlebih dahulu.
Contoh Kode Program
// Membaca MQ-135, mengaktifkan relay (mis. kipas) jika nilai gas melebihi ambang batas
const int pinGas = A0;
const int pinRelay = 7;
const int ambangBatas = 400; // sesuaikan hasil kalibrasi ruangan kelasmu
void setup() {
pinMode(pinRelay, OUTPUT);
digitalWrite(pinRelay, LOW); // pastikan mati di awal (cek juga apakah modul relay-mu aktif-LOW)
Serial.begin(9600);
Serial.println("MQ-135 pemanasan...");
delay(5000); // simulasi warm-up singkat untuk latihan kelas
}
void loop() {
int nilaiGas = analogRead(pinGas);
bool udaraKotorTerdeteksi = nilaiGas > ambangBatas;
digitalWrite(pinRelay, udaraKotorTerdeteksi ? HIGH : LOW);
Serial.print("Nilai gas: ");
Serial.print(nilaiGas);
Serial.println(udaraKotorTerdeteksi ? " -> Relay AKTIF (kipas menyala)" : " -> normal");
delay(500);
}Tugas / Latihan
- Cek datasheet/label modul relay yang dipakai: apakah aktif di sinyal HIGH atau LOW (banyak modul relay murah justru aktif-LOW)? Sesuaikan kode.
- Amati nilai MQ-135 dalam kondisi udara normal vs saat didekatkan ke sumber bau menyengat (misalnya alkohol/hand sanitizer, dari jarak aman) - catat perubahan nilainya dan tentukan ambang batas yang wajar.
- (Tantangan) Tambahkan histeresis pada logika relay: gunakan dua ambang batas berbeda (misalnya nyala di atas 400, mati di bawah 350) agar relay tidak kedap-kedip saat nilai gas berada di sekitar ambang batas.