● online
- 10mm Kapton Tape Polymide Film Gold High Temp isol....
- Resistor 220 Ohm 220R Ohm 220Ohm 1/4W 1% Metal fil....
- TANG CRIMPING PRESS SKUN RATCHET YTH SN-48B....
- RC Servo ARM Horn M3 Metal 25T MG995 MG946R MG996R....
- Kabel Jumper arduino Dupont Pelangi 30 cm Male to ....
- Kabel Jumper 10cm Dupont Pelangi 10 cm Female to F....
- Kabel Jumper Dupont Pelangi 30 cm female to Female....
- Modul Sensor Tegangan AC Bolak balik 220V Listrik ....
- 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.
Jaga Kualitas Udara Kamar Tetap Sehat Pakai ESP32 dan Sensor MQ-135
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:
- 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.
- 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.
- 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.
- 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!
Jaga Kualitas Udara Kamar Tetap Sehat Pakai ESP32 dan Sensor MQ-135
I2C merupakan sebuah modul komunikasi serial dua arah yang berfungsi untuk mengirim dan menerima data. Keduanya adalah SCL (Serial... selengkapnya
Ketemu lagi dengan sensor DS18b20, kali ini akan kita monitoring menggunakan aplikasi Blynk dan ESP-01. Langsung saja ya kita... selengkapnya
Panel P10 LED Matrix merupakan sebuah display berisi kumpulan led-led yang disusun secara matrix. Fungsinya untuk menampilkan informasi berupa... selengkapnya
Real Time Clock DS3231 adalah rangkaian elektronik yang berfungsi untuk menyediakan data waktu dan tanggal dengan tingkat presisi... selengkapnya
Setelah sebelumnya kamu belajar menyalakan LED, sekarang saatnya Arduino mulai menerima perintah langsung dari kamu. Salah satu cara paling sederhana... selengkapnya
Menjaga kondisi lingkungan ruang server tetap stabil adalah hal yang sangat krusial bagi kelangsungan operasional sistem TI. Jika suhu dan... selengkapnya
Dalam dunia edit-mengedit gambar, bagi orang yang sudah ahli memang sudah tidak heran lagi. Tetapi bagi orang yang awam... selengkapnya
Sensor PIR (HC-SR501) digunakan untuk mendeteksi pergerakan yang ada di depannya. Sensor PIR (HC-SR501) terbuat dari bahan pyroelectric yang... selengkapnya
Blynk menawarkan beragam fungsi ya, salah satunya untuk mengontrol perangkat. Penggunaan Blynk ini bisa kapan dan dimana saja ya,... selengkapnya
CNC router merupakan sebuah mesin yang mempunyai kegunaan untuk memotong, mengukir/grafir dan membuat marking. Semua proses itu dapat dilakukan... selengkapnya
Mini Solderless Breadboard 400 Tie Points adalah breadboard 400 titik lubang, dengan ukuran yang compact sangat cocok untuk anda yang… selengkapnya
Rp 7.800ESR meter/LCR meter dengan layar lebar lebih jelas dan mantap dan dengan tempat batre jd lebih rapih batre lebih aman… selengkapnya
Rp 131.000 Rp 134.000Kabel jumper 20 cm merk Dupont untuk Arduino Female to male 1 lembar = 40 kabel
Rp 11.300Kabel jumper Dupont untuk jumper Arduino atau Raspeberry Pi 20 cm Female to female 1 lembar = 40 kabel
Rp 11.300Menerima jasa cetak PCB FR2 (pertinax) / FR4 (double) single / double layer. Silahkan ke web kalkulator biaya cetak pcb… selengkapnya
Rp 1.00012A 300W DC Buck Step Down Converter CC CV Driver LED charge Battery Spesifikasi: Input Voltage: 5-40V Output Voltage: 1.2-35V… selengkapnya
Rp 39.400Product Name: Tactile Switch; Material: Metal, Plastic Package Content: 30 Pcs x Tactile Switch; Main Color: Black, Silver Tone Total… selengkapnya
Rp 400POTENSIOMETER LINEAR MONO 10K ohm
Rp 1.900Kabel jumper Dupont untuk jumper Arduino atau Raspberry Pi 20 cm Male to Male 1 lembar = 40 kabel
Rp 11.3002000W SCR Electronic Voltage Regulator Speed Controller Dimmer Thermostat Aplikasi : Kontrol temperature heater, kontrol kecepatan fan/bor tangan/gurinda tangan, kompor… selengkapnya
Rp 19.500Jaga Kualitas Udara Kamar Tetap Sehat Pakai ESP32 dan Sensor MQ-135
Kategori
Artikel Terkait
-
Cara Bikin Sistem Monitoring Getaran Gempa dan Stabilitas Kemiringan Pakai ESP32 dan MPU 6050
-
Cara Bikin Sistem Monitoring Kelembapan Tanah Berbasis Arduino Uno dan Sensor YL69
-
Bikin Sistem Monitor Volume Air Tandon Otomatis Pakai Arduino Uno dan Sensor Ultrasonik
-
Cara Bikin Kipas Angin Otomatis Berbasis Suhu Pakai Arduino Uno dan Sensor LM35
-
Bikin Smart Medicine Box Otomatis Pakai Arduino Nano dan Sensor Suhu DHT11

Saat ini belum tersedia komentar.