← Back to list

Sistem Pemantau suhu dan Kelembapan Menggunakan Sensor DHT22 di Lengkapi LED Sebagai Indikator…

Latar Belakang

Srirachmatunisa · 2025-10-29 03:51 · 0 claps · 5.8 min read
#iot #dht-22
Open on Medium ↗
Wiki topics: 📟 · Gadgets & IoT

Sistem Pemantau suhu dan Kelembapan Menggunakan Sensor DHT22 di Lengkapi LED Sebagai Indikator Visual, dan Buzzer Sebagai Alarm Peringatan.

  1. 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.

  1. 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

  1. Skema Rangkaian

Skema Rangkaian

Skema Rangkaian

  1. 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) dan pinMode(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:

  1. Membaca ulang data suhu dan kelembapan dari sensor,
  2. Membaca ulang data suhu dan kelembapan dari sensor
  3. Memperbarui tampilan LCD,
  4. Mengecek apakah suhu melewati batas,
  5. 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:

  1. Membaca suhu dan kelembapan dari sensor DHT22 dengan akurat.
  2. Menampilkan hasil pengukuran secara langsung di layar LCD.
  3. Memberikan peringatan otomatis melalui LED dan buzzer jika suhu melebihi batas 30°C.
  4. Bekerja terus-menerus dengan pembacaan data yang diperbarui setiap 2 detik.
  5. 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