Buka Senin - Jumat jam 08.30 s/d jam 16.30 , Sabtu Jam 8.30 s/d jam 13.00 , Minggu tutup
  • Selamat Datang di Indomaker ❯ Silahkan pesan produk sesuai kebutuhan anda, kami siap melayani.
  • Selamat Datang di Indomaker ❯ Silahkan pesan produk sesuai kebutuhan anda, kami siap melayani.
Beranda » Blog » Jaga Kualitas Udara Kamar Tetap Sehat Pakai ESP32 dan Sensor MQ-135

Jaga Kualitas Udara Kamar Tetap Sehat Pakai ESP32 dan Sensor MQ-135

Diposting pada 22 September 2026 oleh indo maker / Dilihat: 7 kali / Kategori: ,

Halo, Sobat Makers! Pernah nggak sih ngerasa pusing atau pengap pas lagi asyik nyolder project atau eksperimen kimia di kamar/lab? Seringkali kita nggak sadar kalau asap timah atau bahan kimia yang kita pakai itu bikin kualitas udara menurun drastis. Nah, biar paru-paru tetap aman dan produktivitas nggak terganggu, penting banget buat punya sistem monitoring kualitas udara ESP32 di ruangan kita. Sambil nyiapin alatnya, jangan lupa intip juga cara bikin kipas angin pintar sendiri pakai arduino dan algoritma pid biar ruangan makin adem buat referensi tambahan sistem pendingin ruangan kamu.

Kenalan Sama Sistem Monitoring Udara Pintar

Project kali ini bukan sekadar alat pemantau (monitoring) pasif yang cuma kasih info di layar, tapi sudah naik level ke fungsi kontrol (controlling). Konsepnya adalah sebuah sistem tertutup yang mendeteksi polutan dan langsung bertindak secara otomatis jika udara sudah dianggap “Toxic”.

Otak dari sistem ini adalah ESP32. Kita sengaja pilih mikrokontroler ini karena fiturnya yang gahar: dual-core Xtensa LX6. Dengan bantuan FreeRTOS (Real-Time Operating System), kita bisa membagi tugas secara paralel tanpa latency atau bottleneck. Bayangin aja, satu core fokus ngurusin sensor dan kipas secara real-time, sementara core satunya sibuk “ngobrol” sama internet via WiFi/MQTT. Hasilnya? Performa sistem jadi seamless dan nggak ada istilah lag pas kirim data ke cloud.

Alat dan Bahan

Berikut adalah komponen yang kamu butuhkan untuk merakit sistem ini sesuai dengan spesifikasi teknis:

Komponen Jumlah Keterangan
ESP32 38-pin 1 Mikrokontroler utama (Dual-core 240 MHz)
Sensor MQ-135 1 Pendeteksi gas (NH3, NOx, Alkohol, Benzena, CO2, Asap)
Sensor DHT11 1 Pengukur suhu dan kelembaban ruangan
OLED SSD1306 0.96″ 1 Layar I2C untuk menampilkan data lokal
Relay 1-Channel 5V 1 Saklar elektronik dengan isolasi galvanik (Optocoupler)
Kipas DC 5V 1 Aktuator exhaust fan untuk membuang polutan
Resistor 10kΩ & 20kΩ @1 Komponen Voltage Divider (Wajib!)
LED (4 Warna) 4 Hijau, Kuning, Merah (Status), Biru (Jaringan)
Buzzer Aktif 1 Alarm audio 5V untuk kondisi udara buruk

Skematik Rangkaian

Pastikan pemasangan kabel kamu rapi dan teliti ya, Sobat. Berikut panduan pinout-nya:

  • OLED SSD1306: SDA (GPIO 21), SCL (GPIO 22).
  • Sensor DHT11: DATA (GPIO 4).
  • Sensor MQ-135: AOUT ke Voltage Divider, lalu ke GPIO 34 (ADC1).
  • Relay Kipas: GPIO 13.
  • Indikator Visual: Hijau (GPIO 25), Kuning (GPIO 26), Merah (GPIO 27), Biru (GPIO 33).
  • Buzzer: GPIO 14.

PRO-TIP: JANGAN “MASAK” ESP32 KAMU! Sensor MQ-135 bekerja pada tegangan 5V dan mengeluarkan output analog hingga 5V juga. Padahal, pin ADC ESP32 cuma toleran maksimal 3.3V. Kamu wajib pasang resistor 10kΩ (R1) dan 20kΩ (R2) sebagai voltage divider untuk menurunkan 5V menjadi sekitar 3.33V. Salah sedikit di sini, pin ADC kamu bisa rusak permanen! Cek detailnya di datasheet MQ-135 untuk memahami kurva sensitivitasnya.

Logika dan Cara Kerja Sistem

Sistem ini dirancang dengan logika yang ketat agar tidak terjadi false alarm. Berikut tahapannya:

  1. Warmup Phase (30 Detik): Sensor MQ-135 punya heater internal yang butuh waktu buat stabil. Selama 30 detik pertama, sistem akan memblokir semua pembacaan sensor agar data nggak ngaco. OLED akan menampilkan countdown untuk memberitahu kamu kapan sistem siap.
  2. Division of Labor (Dual-Core):
    • Core 0 (Physical/Local): Tugasnya berat di lapangan. Dia yang baca DHT11 & MQ-135, ngitung persentase polutan, update layar OLED, dan ngontrol Relay/Buzzer.
    • Core 1 (Virtual/Cloud): Fokus urusan komunikasi. Dia yang jaga koneksi WiFi, konek ke broker MQTT, dan publish data JSON.
  3. Indikator Jaringan (Blue LED):
    • Berkedip (300ms): Lagi usaha cari sinyal WiFi/MQTT.
    • Statis Menyala: Mantap, sudah online dan data terkirim!
    • Mati: Koneksi gagal atau putus.
  4. Threshold & Respons Aktuator:
    • Kondisi Baik (ADC < 1000): LED Hijau ON. Udara segar!
    • Kondisi Sedang (ADC 1000-2000): LED Kuning ON. Ada polusi tipis-tipis.
    • Kondisi Buruk (ADC > 2000): LED Merah ON, Buzzer bunyi beep pattern 200ms, dan Relay Kipas Exhaust aktif otomatis.

Pemrograman dan Dashboard IoT

Kita menggunakan Arduino IDE dengan bantuan library FreeRTOS. Satu hal yang krusial di sini adalah penggunaan Mutex. Karena dua core mengakses data sensor yang sama secara bergantian, Mutex berfungsi mencegah “Race Condition” (tabrakan data) yang bisa bikin ESP32 kamu crash.

// Contoh inisialisasi task FreeRTOS pada ESP32

void setup() {
  // Membuat Mutex untuk mencegah konflik akses data antar-core
  dataMutex = xSemaphoreCreateMutex();

  // Task sensor dan kontrol berjalan pada Core 0
  xTaskCreatePinnedToCore(
    taskSensor,
    "SensorTask",
    4096,
    NULL,
    1,
    NULL,
    0
  );

  // Task WiFi dan MQTT berjalan pada Core 1
  xTaskCreatePinnedToCore(
    taskMQTT,
    "MQTTTask",
    4096,
    NULL,
    1,
    NULL,
    1
  );
}

Untuk tampilan lokal, layar OLED akan menampilkan 6 baris info secara detail: Header, Suhu, Kelembaban, Indeks Polusi, Status Udara/Kipas, dan Status MQTT.

Sementara untuk monitoring jarak jauh, kita menggunakan protokol MQTT via broker HiveMQ. Data dikirim dalam format JSON yang kemudian dibaca oleh Web Dashboard. Dashboard ini dibuat menggunakan MQTT.js dan Chart.js supaya tampilannya pro, lengkap dengan animasi kipas yang berputar kalau status di ruangan kamu lagi “Buruk”.

Pengujian dengan Miniatur Rumah

Biar makin realistis, sistem ini diuji dalam miniatur rumah berukuran 30x20x20 cm. Sensor diletakkan di sudut ruangan untuk mendeteksi akumulasi gas, sementara kipas dipasang di dinding sebagai exhaust fan.

Catatan Kalibrasi: Karena ada voltage divider, nilai ADC yang terbaca pasti bergeser. Tips buat kamu: setelah masa warmup 30 detik selesai, cek Serial Monitor di kondisi udara bersih. Jadikan angka tersebut sebagai baseline untuk menentukan threshold (1000/2000) yang paling pas dengan kondisi sensor kamu masing-masing.

Kesimpulan

Bikin sistem monitoring kualitas udara ESP32 itu bukan cuma soal hobi, tapi soal keamanan kerja. Dengan membagi tugas via dual-core, sistem tetap responsif menyalakan kipas saat udara buruk meski WiFi lagi reconnecting. Ruangan jadi lebih aman, sirkulasi udara terjaga, dan kamu pun bisa lanjut berkarya dengan tenang. Yuk, langsung dicoba rakit!

Bagikan ke

Jaga Kualitas Udara Kamar Tetap Sehat Pakai ESP32 dan Sensor MQ-135

Saat ini belum tersedia komentar.

Silahkan tulis komentar Anda

Jaga Kualitas Udara Kamar Tetap Sehat Pakai ESP32 dan Sensor MQ-135

Produk yang sangat tepat, pilihan bagus..!

Berhasil ditambahkan ke keranjang belanja
Lanjut Belanja
Checkout
Produk Quick Order

Pemesanan dapat langsung menghubungi kontak dibawah: