Jaga Dapur Tetap Aman dengan Detektor Kebocoran Gas LPG Berbasis IoT

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!

KomponenJumlahKeterangan
ESP32 Devkit V11Otak utama dengan WiFi, CPU 240MHz, dan ADC 12-bit.
Sensor MQ-21Sensor gas SnO2, tegangan 5V, konsumsi arus 150mA.
LCD 16×2 I2C1Layar penampil status (Alamat I2C: 0x27).
Motor Servo SG901Aktuator simulasi jendela otomatis (0-180 derajat).
Buzzer Aktif1Alarm suara frekuensi tinggi (Tegangan 3.3V – 5V).
LED Merah1Indikator visual bahaya (Forward voltage 1.8V – 2.2V).
Kabel JumperSecukupnyaPenghubung 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:

  1. Sensor MQ-2: Pin A0 hubungkan ke GPIO 34 (kita pakai fitur ADC 12-bit ESP32).
  2. Buzzer Aktif: Pin positif hubungkan ke GPIO 13.
  3. LED Merah: Pin anoda hubungkan ke GPIO 2.
  4. Motor Servo SG90: Pin data (PWM) hubungkan ke GPIO 18.
  5. LCD 16×2 I2C: Pin SDA ke GPIO 21 dan SCL ke GPIO 22.
  6. 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 SistemNilai Gas (PPM)Status BuzzerPosisi ServoStatus Blynk
Normal1.234Mati0 DerajatKondisi Aman
Bahaya3.628Bunyi (1000Hz)90 DerajatGAS 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!

Related Post

Leave a Reply

Your email address will not be published. Required fields are marked *

Mau Cetak PCB Custom? Cek Biaya