
Halo, Sobat IoT! Pernah nggak sih kalian lagi asyik nongkrong di luar, tapi tiba-tiba kepikiran “Eh, tadi regulator gas sudah tertutup rapat belum ya?” Jujur, rasa was-was kayak gini wajar banget, karena kebocoran gas LPG sering kali nggak terdeteksi sampai konsentrasinya tinggi dan berisiko memicu ledakan atau kebakaran.
Nah, daripada panik terus, mending kita bikin dapur kita jadi lebih cerdas! Kali ini, kita bakal merakit detektor kebocoran gas LPG pintar yang bisa kirim notifikasi langsung ke HP kamu. Dengan konsep Smart Kitchen, sistem ini nggak cuma bunyi alarm doang, tapi bisa buka jendela otomatis buat buang gas bocor. Asli, proyek ini bakal bikin kamu makin tenang. Yuk, kita bedah bareng!

Alat dan Bahan Proyek
Untuk proyek ini, kita butuh beberapa komponen kunci. Salah satu yang paling penting adalah sensor MQ-2. Fun fact: sensor ini pakai material Tin Dioxide (SnO2) yang sangat peka terhadap gas mudah terbakar. Oh iya, perlu diingat kalau MQ-2 butuh arus sekitar 150mA, jadi pastikan power supply kamu stabil ya!
| Komponen | Jumlah | Keterangan |
| ESP32 Devkit V1 | 1 | Otak utama dengan WiFi, CPU 240MHz, dan ADC 12-bit. |
| Sensor MQ-2 | 1 | Sensor gas SnO2, tegangan 5V, konsumsi arus 150mA. |
| LCD 16×2 I2C | 1 | Layar penampil status (Alamat I2C: 0x27). |
| Motor Servo SG90 | 1 | Aktuator simulasi jendela otomatis (0-180 derajat). |
| Buzzer Aktif | 1 | Alarm suara frekuensi tinggi (Tegangan 3.3V – 5V). |
| LED Merah | 1 | Indikator visual bahaya (Forward voltage 1.8V – 2.2V). |
| Kabel Jumper | Secukupnya | Penghubung antar komponen (Male-to-Female/Male-to-Male). |
Skematik Rangkaian
Sobat bisa merakit komponen ini di breadboard atau menggunakan platform simulasi Wokwi. Ikuti pemetaan pin (GPIO) di bawah ini biar nggak ada salah sambung:
- Sensor MQ-2: Pin A0 hubungkan ke GPIO 34 (kita pakai fitur ADC 12-bit ESP32).
- Buzzer Aktif: Pin positif hubungkan ke GPIO 13.
- LED Merah: Pin anoda hubungkan ke GPIO 2.
- Motor Servo SG90: Pin data (PWM) hubungkan ke GPIO 18.
- LCD 16×2 I2C: Pin SDA ke GPIO 21 dan SCL ke GPIO 22.
- Powering: Hubungkan semua pin VCC komponen ke jalur 5V dan semua pin GND ke Ground ESP32.
Cara Kerja Sistem Deteksi Cerdas
Begitu alat dinyalakan, LCD bakal menampilkan tulisan “SMART KITCHEN” selama 2 detik sebagai branding keren proyek kamu. Sistem ini bekerja secara real-time membaca udara di dapur. Berbeda dengan sensor gas untuk Arduino seperti MQ7 yang spesifik buat karbon monoksida, sensor MQ-2 kita ini juara banget dalam mendeteksi LPG dan asap.
Logika keamanannya kita atur pada ambang batas (threshold) 1800 PPM:
- Kondisi Aman (< 1800 PPM): LCD menampilkan status “AMAN”, lampu mati, dan jendela (servo) tetap tertutup di 0 derajat.
- Kondisi Bahaya (> 1800 PPM): Sistem langsung masuk mode anti-panik! Buzzer berteriak, LED merah menyala, dan motor servo akan bergerak otomatis ke 90 derajat untuk membuka ventilasi udara. Keren banget, kan?

Pemrograman dan Integrasi Blynk IoT
Kita pakai aplikasi Blynk supaya bisa memantau kondisi dapur dari mana saja lewat HP. Kita bakal pakai Virtual Pin (V0, V1, V2, V3, V4) buat sinkronisasi data.

Berikut kode program lengkapnya:
// Konfigurasi Token Blynk
#define BLYNK_TEMPLATE_ID "TMPL6c96fz3w_"
#define BLYNK_TEMPLATE_NAME "KEBOCORAN GAS"
#define BLYNK_AUTH_TOKEN "biN9yk5k2TcgDgpG1hXb_3Ywz2JawWzx"
#include <WiFi.h>
#include <WiFiClient.h>
#include <BlynkSimpleEsp32.h>
#include <LiquidCrystal_I2C.h>
#include <ESP32Servo.h>
const int pinMQ2 = 34;
const int pinBuzzer = 13;
const int pinLed = 2;
const int pinServo = 18;
char auth[] = BLYNK_AUTH_TOKEN;
char ssid[] = "Wokwi-GUEST";
char pass[] = "";
LiquidCrystal_I2C lcd(0x27, 16, 2);
Servo exhaustFan;
BlynkTimer timer;
bool gasBocor = false;
bool jendelaTerbuka = false;
// Kendali manual dari Blynk (Hanya bisa kalau TIDAK ada kebocoran)
BLYNK_WRITE(V2) {
int saklar = param.asInt();
if (saklar == 1) {
exhaustFan.write(90);
jendelaTerbuka = true;
} else if (!gasBocor) { // Safety feature: nggak bisa tutup jendela kalau gas masih bocor
exhaustFan.write(0);
jendelaTerbuka = false;
}
}
void monitorGas() {
int nilaiGas = analogRead(pinMQ2);
int batasBahaya = 1800;
Blynk.virtualWrite(V0, nilaiGas);
Blynk.virtualWrite(V4, nilaiGas);
if (nilaiGas > batasBahaya) {
gasBocor = true;
digitalWrite(pinLed, HIGH);
tone(pinBuzzer, 1000);
if (!jendelaTerbuka) {
for (int pos = 0; pos <= 90; pos++) { exhaustFan.write(pos); delay(15); }
jendelaTerbuka = true;
}
Blynk.virtualWrite(V1, "GAS BOCOR!");
Blynk.virtualWrite(V3, 1);
lcd.setCursor(0, 1);
lcd.print("DANGER: LEAKING!");
} else {
gasBocor = false;
digitalWrite(pinLed, LOW);
noTone(pinBuzzer);
if (jendelaTerbuka) {
for (int pos = 90; pos >= 0; pos--) { exhaustFan.write(pos); delay(15); }
jendelaTerbuka = false;
}
Blynk.virtualWrite(V1, "KONDISI AMAN");
Blynk.virtualWrite(V3, 0);
lcd.setCursor(0, 1);
lcd.print("Status: AMAN ");
}
lcd.setCursor(0, 0);
lcd.print("Gas: ");
lcd.print(nilaiGas);
lcd.print(" PPM ");
}
void setup() {
pinMode(pinMQ2, INPUT);
pinMode(pinBuzzer, OUTPUT);
pinMode(pinLed, OUTPUT);
exhaustFan.attach(pinServo);
exhaustFan.write(0);
lcd.init();
lcd.backlight();
lcd.setCursor(0, 0);
lcd.print(" SMART KITCHEN "); // Splash screen keren
delay(2000);
lcd.clear();
Blynk.begin(auth, ssid, pass);
timer.setInterval(1000L, monitorGas); // Update data tiap 1 detik
}
void loop() {
Blynk.run();
timer.run();
}
Penting: Perhatikan fungsi BLYNK_WRITE(V2). Di sini ada fitur keamanan di mana jendela nggak akan bisa ditutup secara manual kalau sistem masih mendeteksi kebocoran (!gasBocor). Jadi, keselamatan tetap nomor satu!

Hasil Pengujian dan Analisa

Asli, sistem ini gercep banget! Pas ada simulasi kebocoran, datanya langsung sampai ke HP dalam waktu kurang dari 1 detik. Berikut perbandingannya:
| Kondisi Sistem | Nilai Gas (PPM) | Status Buzzer | Posisi Servo | Status Blynk |
| Normal | 1.234 | Mati | 0 Derajat | Kondisi Aman |
| Bahaya | 3.628 | Bunyi (1000Hz) | 90 Derajat | GAS BOCOR! |
Kelihatan banget perbedaannya, kan? Begitu nilai PPM melonjak, sistem langsung multi-tasking mengamankan dapur Sobat.
Kesimpulan dan Tips Keamanan
Membuat detektor kebocoran gas LPG berbasis IoT ini adalah langkah cerdas buat mitigasi risiko kebakaran di rumah. Nggak cuma sekadar hobi, alat ini punya manfaat nyata buat melindungi keluarga tersayang.
Tips Tambahan biar Alat Makin Awet & Akurat:
- Pre-heating (Pemanasan): Saat baru dinyalakan, sensor MQ-2 butuh waktu sekitar 20 detik buat pemanasan supaya pembacaannya stabil.
- Kalibrasi Rutin: Cek berkala nilai PPM-nya untuk memastikan sensor nggak “ngaco” akibat debu dapur.
- Kebersihan Sensor: Bersihkan area sensor dari minyak atau debu supaya material SnO2-nya tetap sensitif mendeteksi gas.
Gimana, tertarik buat coba? Yuk, mumpung lagi semangat, langsung eksekusi proyek IoT pertamamu ini. Semangat ngoprek, Sobat!
