Sistem Pemantau suhu dan Kelembapan Menggunakan Sensor DHT22 di Lengkapi LED Sebagai Indikator…
Latar Belakang
Sistem Pemantau suhu dan Kelembapan Menggunakan Sensor DHT22 di Lengkapi LED Sebagai Indikator Visual, dan Buzzer Sebagai Alarm Peringatan.
- Latar Belakang
Perkembangan teknologi mikrokontroler saat ini memberikan kemudahan bagi manusia dalam membuat berbagai alat otomatis yang bermanfaat dalam kehidupan sehari-hari. Salah satu penerapannya adalah sistem monitoring berbasis sensor yang dapat mendeteksi perubahan lingkungan secara real-time.
Suhu dan kelembaban udara merupakan dua faktor penting yang mempengaruhi kenyamanan dan kestabilan lingkungan, seperti pada ruangan, laboratorium, rumah kaca, ataupun gudang penyimpanan. Kondisi suhu yang terlalu tinggi atau kelembaban yang tidak stabil dapat menyebabkan penurunan kualitas lingkungan dan merusak benda tertentu.
Oleh karena itu, dirancanglah alat pemantau suhu dan kelembaban berbasis sensor DHT22, yang mampu menampilkan data pengukuran pada LCD 16x2 I2C. Alat ini juga dilengkapi LED dan buzzer sebagai indikator ketika suhu melebihi batas yang telah ditentukan. Dengan sistem ini, pengguna dapat lebih mudah mengetahui kondisi lingkungan secara langsung tanpa harus melakukan pengukuran manual.
- Bahan yang Digunakan
Nama Komponen dan Fungsi
1 DHT22 -> (Sensor Suhu & Kelembaban) Mengukur suhu dan kelembaban udara 2 LCD 16x2 I2C -> Menampilkan nilai suhu dan kelembaban 3 LED -> Indikator peringatan suhu tinggi 4 Buzzer -> Alarm ketika suhu melebihi batas 5 ESP32 -> Pengendali utama sistem 6 Resistor -> Sebagai Penyambung LED dan rangkaian
Keterangan Sambungan / PIN
DHT22 VCC → 3V3 / 3.3V
DHT22 GND → GND
DHT22 DATA → PIN 15
LCD GND → GND
LCD SDA → PIN 21
LCD SCL → PIN 22
LCD VCC → 5V
LED (+) → PIN 2
LED(-) → GND
BUZZER(+) → PIN 4
BUZZER(-) → GND
- Skema Rangkaian

Skema Rangkaian
- Source Code Penjelasan Program
include <DHT.h>
include <Wire.h>
include <LiquidCrystal_I2C.h>
define DHTPIN 15 // Pin data DHT22
define DHTTYPE DHT22 // Tipe sensor
define LED_PIN 2 // Pin LED
define BUZZER_PIN 4 // Pin buzzer
define TEMP_LIMIT 30.0 // Batas suhu
DHT dht(DHTPIN, DHTTYPE);
LiquidCrystal_I2C lcd(0x27, 16, 2);
void setup() {
Serial.begin(9600); // Untuk debugging
dht.begin();
lcd.init();
lcd.backlight();
pinMode(LED_PIN, OUTPUT);
pinMode(BUZZER_PIN, OUTPUT);
lcd.setCursor(0, 0);
lcd.print(“Sensor DHT22”);
lcd.setCursor(0, 1);
lcd.print(“Memulai…”);
delay(2000);
lcd.clear();
Serial.println(“Setup selesai”);
}
void loop() {
float humidity = dht.readHumidity();
float temperature = dht.readTemperature();
Serial.print(“Suhu: “);
Serial.print(temperature);
Serial.print(“ C, Kelembaban: “);
Serial.print(humidity);
Serial.println(“ %”);
lcd.setCursor(0, 0);
lcd.print(“Temp: “);
lcd.print(temperature, 1);
lcd.print(“C “);
lcd.setCursor(0, 1);
lcd.print(“Hum: “);
lcd.print(humidity, 1);
lcd.print(“% “);
if (temperature > TEMP_LIMIT) {
digitalWrite(LED_PIN, HIGH);
tone(BUZZER_PIN, 1000, 500); // Beep buzzer
} else {
digitalWrite(LED_PIN, LOW);
digitalWrite(BUZZER_PIN, LOW);
}
delay(2000);
}
Penjelasan Kodingan dan Program
1. Bagian Library
#include <DHT.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
Bagian ini berfungsi untuk memanggil library (pustaka) yang dibutuhkan:
- DHT.h → digunakan untuk membaca data suhu dan kelembapan dari sensor DHT22.
- Wire.h → memungkinkan komunikasi I2C antara ESP32 dan perangkat lain seperti LCD.
- LiquidCrystal_I2C.h → digunakan untuk mengontrol LCD 16x2 melalui antarmuka I2C (dua kabel saja: SDA dan SCL).
2. Bagian Pendefinisian Konstanta
#define DHTPIN 15
#define DHTTYPE DHT22
#define LED_PIN 2
#define BUZZER_PIN 4
#define TEMP_LIMIT 30.0
Bagian ini mendefinisikan pin dan nilai batas suhu:
DHTPIN 15→ pin data sensor DHT22 terhubung ke pin 15 pada ESP32.DHTTYPE DHT22→ menentukan jenis sensor yang digunakan adalah DHT22.LED_PIN 2→ LED indikator terhubung ke pin 2.BUZZER_PIN 4→ buzzer terhubung ke pin 4.TEMP_LIMIT 30.0→ suhu batas maksimum 30°C; jika lebih, LED dan buzzer akan aktif.
3. Inisialisasi Objek
DHT dht(DHTPIN, DHTTYPE);
LiquidCrystal_I2C lcd(0x27, 16, 2);
DHT dht(DHTPIN, DHTTYPE)→ membuat objek bernama dht untuk membaca data dari sensor DHT22.LiquidCrystal_I2C lcd(0x27, 16, 2)→ membuat objek lcd dengan alamat I2C 0x27 dan ukuran 16 karakter x 2 baris.
4. Fungsi setup()
void setup() {
Serial.begin(9600);
dht.begin();
lcd.init();
lcd.backlight();
pinMode(LED_PIN, OUTPUT);
pinMode(BUZZER_PIN, OUTPUT);
...
}
Fungsi ini dijalankan satu kali saat alat dinyalakan, dan berfungsi untuk menyiapkan semua komponen:
Serial.begin(9600)→ membuka komunikasi serial untuk menampilkan data ke Serial Monitor.dht.begin()→ mengaktifkan sensor DHT22.lcd.init()→ menginisialisasi LCD agar siap digunakan.lcd.backlight()→ menyalakan lampu latar LCD.pinMode(LED_PIN, OUTPUT)danpinMode(BUZZER_PIN, OUTPUT)→ menentukan bahwa pin LED dan buzzer digunakan sebagai output.- LCD kemudian menampilkan pesan “Sensor DHT22 Memulai…” selama 2 detik sebelum sistem mulai bekerja.
Serial.println("Setup selesai")menandakan bahwa tahap inisialisasi telah berhasil.
5. Fungsi loop()
Bagian ini berjalan berulang-ulang selama alat menyala. Tujuannya adalah membaca data dari sensor dan memberikan respon sesuai hasilnya.
a. Membaca Data Sensor
float humidity = dht.readHumidity();
float temperature = dht.readTemperature();
Dua variabel disiapkan untuk menampung hasil pembacaan sensor:
humidity→ menyimpan nilai kelembapan (%)temperature→ menyimpan nilai suhu (°C)
Data ini akan terus diperbarui setiap kali loop berjalan.
b. Menampilkan Data ke Serial Monitor
Serial.print("Suhu: ");
Serial.print(temperature);
Serial.print(" C, Kelembaban: ");
Serial.print(humidity);
Serial.println(" %");
Data suhu dan kelembapan dikirim ke Serial Monitor agar pengguna bisa melihat hasil pembacaan secara digital di komputer. Ini berguna untuk debugging atau memastikan sensor bekerja dengan benar.c. Menampilkan Data ke LCD
lcd.setCursor(0, 0);
lcd.print("Temp: ");
lcd.print(temperature, 1);
lcd.print("C ");
lcd.setCursor(0, 1);
lcd.print("Hum: ");
lcd.print(humidity, 1);
lcd.print("% ");
Data yang sama juga ditampilkan di LCD:
- Baris 1 → menampilkan suhu dalam °C.
- Baris 2 → menampilkan kelembapan dalam persen (%).
Nilai
(temperature, 1)dan(humidity, 1)menandakan hanya satu angka di belakang koma yang ditampilkan.
d. Kondisi Peringatan (Logika IF)
if (temperature > TEMP_LIMIT) {
digitalWrite(LED_PIN, HIGH);
tone(BUZZER_PIN, 1000, 500);
} else {
digitalWrite(LED_PIN, LOW);
digitalWrite(BUZZER_PIN, LOW);
}
Bagian ini menentukan aksi yang dilakukan sistem berdasarkan suhu yang terukur:
- Jika suhu lebih besar dari 30°C:
- LED menyala (
HIGH) sebagai tanda peringatan visual. - Buzzer berbunyi pada frekuensi 1000 Hz selama 0,5 detik sebagai peringatan suara.
- Jika suhu tidak melebihi batas, maka LED dan buzzer akan mati (OFF).
e. Delay
delay(2000);
Menunda proses selama 2 detik sebelum sistem membaca ulang data sensor.
1 . P roses Awal (Inisialisasi Sistem)
Saat sistem pertama kali dijalankan, ESP32 melakukan proses inisialisasi, yaitu menyiapkan komunikasi dengan semua perangkat yang terhubung — sensor DHT22, LCD, LED, dan buzzer. LCD akan menampilkan pesan awal untuk menunjukkan bahwa sistem sedang memulai dan memastikan semua komponen bekerja dengan baik.
Setelah inisialisasi selesai, sistem siap memantau suhu dan kelembapan secara berkala.
2. Pembacaan Sensor
Sensor DHT22 berfungsi sebagai alat input yang membaca dua jenis data, yaitu:
Suhu Udara (dalam derajat celcius)
Kelembaban Udara (dalam persen)
Sensor mengirimkan data ke ESP32, yang kemudian memprosesnya untuk ditampilkan dan dibandingkan dengan batas suhu yang telah ditentukan.
3. Penampilan Data ke LCD
Setelah berhasil membaca data, sistem menampilkan hasil pengukuran pada LCD 16x2. Baris pertama menunjukkan suhu, sedangkan baris kedua menampilkan kelembapan udara.
Dengan cara ini, pengguna bisa melihat kondisi lingkungan secara langsung tanpa perlu menghubungkan perangkat ke komputer.
4. Sistem Peringatan (LED dan Buzzer)
Salah satu fungsi utama program ini adalah memberikan peringatan otomatis ketika suhu melebihi batas tertentu (misalnya 30°C).
Cara kerjanya:
- Jika suhu lebih tinggi dari batas, maka LED akan menyala dan buzzer berbunyi sebagai tanda peringatan.
- Jika suhu masih normal, maka LED dan buzzer akan mati.
Mekanisme ini membantu pengguna untuk mengetahui kondisi bahaya secara cepat, bahkan tanpa melihat layar LCD.
5. Proses Berulang (Looping Otomatis)
Sistem bekerja secara berulang dan otomatis. Setiap beberapa detik, ESP32 akan:
- Membaca ulang data suhu dan kelembapan dari sensor,
- Membaca ulang data suhu dan kelembapan dari sensor
- Memperbarui tampilan LCD,
- Mengecek apakah suhu melewati batas,
- Mengaktifkan atau menonaktifkan LED dan buzzer sesuai kondisi.
Proses ini terus berjalan selama alat mendapat suplai daya, sehingga pemantauan berlangsung real-time dan berkesinambungan.
6. Analisis Keseluruhan
Secara keseluruhan, sistem ini menggambarkan prinsip kerja otomatisasi pemantauan lingkungan dengan logika sederhana:
- Input: data suhu dan kelembapan dari sensor DHT22.
- Proses: pengolahan data dan pembandingan terhadap batas suhu oleh ESP32.
- Output: tampilan data pada LCD, serta peringatan melalui LED dan buzzer jika kondisi melebihi ambang batas.
Sistem ini efisien karena bekerja tanpa intervensi manual. Pengguna cukup menyalakan alat, dan seluruh proses berjalan otomatis.
7. Aplikasi dan Pengembangan
Sistem seperti ini dapat diterapkan pada berbagai kebutuhan, misalnya:
- Pemantauan suhu ruangan,
- Inkubator hewan atau tumbuhan,
- Greenhouse pertanian,
- Ruang penyimpanan barang sensitif terhadap suhu.
Jika dikembangkan lebih lanjut, sistem ini bisa dihubungkan ke Internet of Things (IoT) agar data suhu dan kelembapan bisa dikirim ke aplikasi atau website secara online.
KESIMPULAN
Program ini berhasil membuat sistem pemantauan suhu dan kelembapan otomatis yang bekerja secara real-time menggunakan ESP32, sensor DHT22, LCD, LED, dan buzzer.
Sistem mampu:
- Membaca suhu dan kelembapan dari sensor DHT22 dengan akurat.
- Menampilkan hasil pengukuran secara langsung di layar LCD.
- Memberikan peringatan otomatis melalui LED dan buzzer jika suhu melebihi batas 30°C.
- Bekerja terus-menerus dengan pembacaan data yang diperbarui setiap 2 detik.
- Menangani kesalahan sensor, misalnya saat data tidak terbaca.
Melalui kombinasi komponen tersebut, sistem ini menunjukkan cara kerja otomatisasi sederhana yang dapat diterapkan pada berbagai bidang seperti ruang penyimpanan, inkubator, rumah pintar, dan pertanian.
Secara keseluruhan, alat ini membuktikan bahwa dengan pemrograman mikrokontroler, kita dapat membuat sistem cerdas sederhana yang dapat memantau kondisi lingkungan dan memberikan peringatan dini secara otomatis — efisien, praktis, dan mudah dikembangkan menjadi sistem IoT di masa depan.
메타데이터
- post_id
- e05e611c6a27
- slug
- sistem-pemantau-suhu-dan-kelembapan-menggunakan-sensor-dht22-di-lengkapi-led-sebagai-indikator-e05e611c6a27
- url
- https://medium.com/@srirachmatunisa0627/sistem-pemantau-suhu-dan-kelembapan-menggunakan-sensor-dht22-di-lengkapi-led-sebagai-indikator-e05e611c6a27
- canonical_url
- https://medium.com/@srirachmatunisa0627/sistem-pemantau-suhu-dan-kelembapan-menggunakan-sensor-dht22-di-lengkapi-led-sebagai-indikator-e05e611c6a27
- author_url
- https://medium.com/@srirachmatunisa0627
- status
- ok
- fetched_at
- 2026-07-16 01:42:17