DHT 11
DHT 11 adalah sejenis sensor yang memiliki kemampuan untuk mengukur suhu dan kelembaban ruangan. Sensor ini sangat mudah digunakan bersama Arduino dan memiliki kemampuan membaca suhu antara 0 s/d 50 derajat Celcius. Berikut ini adalah spesifikasi lengkap dari sensor ini:
Tegangan kerja | 3-5 Volt DC |
Arus maksimal | 2.5 mA |
rentang pengukuran suhu | 0-50 °C toleransi +- 2 °C |
Rentang pengukuran kelembaban | 20-80% toleransi 5% |
Pinout pada DHT 11
Modul DHT 11 terdiri dari 3 pin yaitu seperti gambar dibawah ini:

pin VCC digunakan untuk memberi supply listrik untuk sensor. Sesuai spesifikasi sensor, DHT 11 dapat disupply dengan menggunakan tegangan antara 3.3 – 5 volt. pemberian supply bisa langsung dari pin 5V pada Arduino atau menggunakan sumber tenaga lain seperti baterai dan powerbank.
pin OUT digunakan untuk mengirimkan sinyal ke Arduino. Sinyal dari pin ini akan diproses oleh Arduino yang outputnya berupa pembacaan suhu dan kelembaban ruangan.
pin GND adalah pin ground
Rangkaian Sensor DHT 11 dengan Arduino
Untuk dapat membaca suhu dan kelembaban, maka sensor DHT 11 harus dihubungkan ke microcontroller Arduino. Rangkaian sensor ini dengan DHT 11 relatif sangat mudah, perhatikan tabel dan gambar dibawah ini
DHT 11 | Arduino |
---|---|
pin VCC | pin 5V |
pin OUT | pin 8 |
pin GND | pin GND |


Menginstal Library DHT
Untuk dapat mengendalikan sensor DHT 11 dengan baik, kita perlu menginstal library DHT kedalam aplikasi Arduino IDE. Penggunaan library ini akan mempermudah kita dalam memprogram sensor DHT 11.
Langkah-langkat instalasi library DHT ikuti langkah-langkah berikut:

Program / Sketch
Setelah library berhasil diinstal, langkah berikutnya adalah menulis dan mengupload program ke dalam Arduino. Program dibawah ini akan menampikan hasil pembacaan sensor pada serial monitor. S
#include "DHT.h" #define DHTPIN 8 #define DHTTYPE DHT11 DHT dht(DHTPIN, DHTTYPE); void setup() { Serial.begin(9600); Serial.println(F("Antarmuka DHT 11")); dht.begin(); } void loop() { delay(2000); float h = dht.readHumidity(); float t = dht.readTemperature(); float f = dht.readTemperature(true); if (isnan(h) || isnan(t) || isnan(f)) { Serial.println(F("Gagal membaca sensor")); return; } Serial.print("kelembaban: "); Serial.print(h); Serial.print("% Temperatur: "); Serial.print(t); Serial.print("°C "); Serial.print(f); Serial.println("°F "); }
Setelah program selesai ditulis, hubungkan Arduino dengan PC atau laptop, pastikan board dan port sudah disetting dengan benar sebelum mengupload. Bukalah Serial monitor dan perhatikan hasil pembacaan sensor. Jika pada layar serial monitor tampil tulisan “Gagal membaca sensor”, Periksalah kembali sambungan kabel antara Arduino dengan sensor DHT 11.
Penjelasan program
#include "DHT.h"
menambahkan (include) library DHT yang kita instal sebelumnya
#define DHTPIN 8 #define DHTTYPE DHT11
#define DHTPIN 8 : mendefinisikan pin 8 Arduino sebagai pin yang terhubung dengan DHT 11
#define DHTTYPE DHT11 : mendefinisikan jenis sensor DHT yang dipakai, dalam hal ini kita menggunakan DHT 11. Apabila sensor yang digunakan adalah sensor DHT22, maka diganti menjadi #define DHTTYPE DHT22.
dht.begin()
mengaktifkan sensor DHT11
float h = dht.readHumidity(); float t = dht.readTemperature(); float f = dht.readTemperature(true);
mendeklarasikan variabel dengan tipe data float (desimal) untuk menyimpan data pembacaan sensor. variabel h akan menyimpan hasil pembacaan kelembaban, t akan menyimpan data suhu dalam Celcius, f akan menyimpan data suhu dalam Fahrenheit.
if (isnan(h) || isnan(t) || isnan(f)) { Serial.println(F("Gagal membaca sensor")); return; }
Arduino akan menjalalankan fungsi if dengan logika jika hasil pembacaan sensor yang tersimpan di salah satu variabel h, t atau f bukan berupa angka (isnan = is not a number) maka Arduino akan menampilkan teks “Gagal membaca sensor” di layar serial monitor.
Serial.print("kelembaban: "); Serial.print(h); Serial.print("% Temperatur: "); Serial.print(t); Serial.print("°C "); Serial.print(f); Serial.println("°F ");
Menampilkan hasil pembacaan sensor ke layar serial monitor. Hasil pembacaan sensor yang tampil di layar adalah kelembaban, suhu dalam celcius, dan suhu dalam Fahrenheit.