Pelajari cara membaca suhu dan kelembapan menggunakan sensor DHT22 dan mikrokontroler ESP32 dengan library DHT.h dari Adafruit. Disertai penjelasan rangkaian, kode program, dan kesimpulan praktis.
Sensor DHT22 merupakan salah satu sensor digital populer untuk mengukur suhu dan kelembapan. Banyak pengguna Arduino familiar dengan library DHT.h dari Adafruit karena dukungannya yang luas dan dokumentasi lengkap. Meski awalnya ditujukan untuk Arduino Uno atau Mega, library ini juga bisa digunakan di ESP32 dengan sedikit penyesuaian. Artikel ini akan menunjukkan caranya secara lengkap.
Skema Rangkaian ESP32 dan DHT22
Alat dan Bahan:
- 1x ESP32 Dev Board
- 1x Sensor DHT22 (modul atau komponen)
- Kabel jumper
- Breadboard (jika perlu)
- Resistor 10kΩ (jika DHT22 tidak dalam bentuk modul)
Koneksi DHT22 ke ESP32:
Pin DHT22 | Koneksi ke ESP32 |
---|---|
VCC | 3.3V |
DATA | GPIO15 |
GND | GND |
⚠️ Catatan: Jika DHT22 kamu bukan versi modul, hubungkan resistor 10kΩ antara pin DATA dan VCC (pull-up resistor).
Kode Program ESP32 + DHT22 Menggunakan Library DHT.h
/**
ESP32 + DHT22 menggunakan DHT.h (Adafruit)
*/
#include "DHT.h"
#define DHTPIN 15 // Pin yang digunakan
#define DHTTYPE DHT22 // Tipe sensor: DHT11, DHT21, atau DHT22
DHT dht(DHTPIN, DHTTYPE);
void setup() {
Serial.begin(115200);
dht.begin(); // Inisialisasi sensor
}
void loop() {
// Baca suhu dan kelembapan
float temperature = dht.readTemperature(); // Celsius
float humidity = dht.readHumidity();
// Cek apakah pembacaan berhasil
if (isnan(temperature) || isnan(humidity)) {
Serial.println("Gagal membaca dari sensor DHT!");
return;
}
// Tampilkan hasil ke Serial Monitor
Serial.println("Temp: " + String(temperature, 2) + "°C");
Serial.println("Humidity: " + String(humidity, 1) + "%");
Serial.println("---");
delay(2000); // Tunggu 2 detik sebelum pembacaan ulang
}
Cara Instalasi Library DHT.h
- Buka Arduino IDE.
- Klik Sketch > Include Library > Manage Libraries…
- Cari “DHT sensor library” by Adafruit dan klik Install.
- Library ini juga memerlukan Adafruit Unified Sensor Library. Pastikan kamu menginstalnya juga.
Penjelasan Singkat Kode
#define DHTPIN 15
: Menentukan pin GPIO yang terhubung ke data DHT22.DHT dht(DHTPIN, DHTTYPE);
: Membuat objek sensor dengan tipe DHT22.dht.begin();
: Menginisialisasi komunikasi dengan sensor.dht.readTemperature()
,dht.readHumidity()
: Membaca data suhu dan kelembapan.isnan(...)
: Mengecek apakah pembacaan valid.
Kesimpulan
Dengan menggunakan library DHT.h dari Adafruit, sensor DHT22 dapat digunakan dengan ESP32 untuk membaca suhu dan kelembapan secara berkala. Meskipun DHTesp.h
lebih dioptimalkan untuk ESP32, DHT.h
tetap menjadi pilihan yang kuat dan fleksibel—terutama bagi pengguna yang sudah terbiasa dengan ekosistem Arduino standar. Cocok untuk proyek monitoring cuaca, rumah pintar, hingga sistem otomasi lainnya.