Mengukur Suhu dan Kelembaban Udara dengan Sensor DHT11 dan Arduino

DHT11 adalah salah satu sensor yang dapat mengukur dua parameter lingkungan sekaligus, yakni suhu dan kelembaban udara (humidity). Dalam sensor ini terdapat sebuah thermistor tipe NTC (Negative Temperature Coefficient) untuk mengukur suhu, sebuah sensor kelembaban tipe resisitif dan sebuah mikrokontroller 8-bit yang mengolah kedua sensor tersebut dan mengirim hasilnya ke pin output dengan format single-wire bi-directional (kabel tunggal dua arah). Jadi walaupun kelihatannya kecil, DHT11 ini ternyata melakukan fungsi yang cukup kompleks. Kita tinggal ambil outputnya aja, untuk kemudian dimasukkan ke sistem kita.

Sebelum kita bekerja dengan sensor DHT11, ada baiknya kita ketahui dulu spesifikasinya agar tidak salah mengolah hasil pengukurannya : 

Pengukuran Kelembaban Udara

-Resolusi pengukuran: 16Bit
-Repeatability: ±1% RH
-Akurasi pengukuran:  25℃ ±5% RH
-Interchangeability: fully interchangeable
-Waktu respon: 1 / e (63%) of 25℃ 6 detik
-Histeresis: <± 0.3% RH
-Long-term stability: <± 0.5% RH / yr in

Pengukuran Temperatur

-Resolusi pengukuran: 16 Bit
-Repeatability: ±0.2℃
-Range: At 25℃ ±2℃
-Waktu Respon: 1 / e (63%) 10 detik

Karakteristik Electrikal

-Power supply: DC 3.5 – 5.5V
-Konsumsi arus: measurement 0.3mA, standby 60μ A
-Periode sampling : lebih dari 2 detik

Di pasaran terdapat dua macam tipe DHT11 yang umumnya sudah berupa modul, yakni DHT11 dengan 3 pin dan 4 pin. Intinya sih sama saja, karena pada modul DHT11 yang berkaki 4 ada satu pin yang tidak digunakan. Berikut ini adalah fungsi/konfigurasi dari pin-pin tersebut

pinout DHT11

Pin 1: Vcc 3.5 – 5.5V DC
Pin 2:  DATA/serial data (single bus)
Pin 3: NC, not used
Pin 4: GND/ground

Cara identifikasi pin, hadapkan sensor menghadap kita, nah pin yang paling kiri adalah pin 1. Kalau Anda bingung, biasanya di modul DHT11 sudah ada tulisan angka (1,2,3,4) atau fungsinya (Vcc, Data, Gnd).

Sekarang kita sudah tahu karakteristik dan konfigurasi pinout dari sensor DHT11. Langkah berikutnya adalah mencobanya dengan Arduino. Caranya cukup sederhana. Pertama-tama susunlah Arduino dan DHT11 seperti gambar di bawah

dht11 arduino

Konfigurasi koneksi antara Arduino dan sensor DHT11 adalah sebagai berikut:

Arduino DHT11 (3 pin) DHT11 (4 pin)
Vcc 1 1
A0 2 2
Gnd 3 4

koneksi sensor DHT11 dg Arduino

Berikutnya untuk memudahkan pembacaan hasil pengukuran suhu dan kelembaban, kita akan menggunakan library yang sudah jadi, yakni library ‘dht.h’. Anda dapat mencarinya di internet atau mengunduhnya di sini. Dengan library ini kita akan dapat dengan mudah mengolah data yang dikirim dari pin ‘serial DATA’ sensor DHT11. Jika sudah mengunduh library ini silahkan disalin ke folder ‘libraries’ di C:/Program Files/Arduino. Berikutnya silahkan isikan contoh sketch berikut untuk menangani output module sensor DHT11 ke Arduino

#include <dht.h>
#define sensor A0 
dht DHT;

void setup(){
Serial.begin(9600);
delay(500);
Serial.println("Sensor Suhu dan Kelembaban Udara dg DHT11\n\n");
delay(1000);
}

void loop(){
DHT.read11(sensor);
Serial.print("Kelembaban udara = ");
Serial.print(DHT.humidity);
Serial.print("% ");
Serial.print("Suhu = ");
Serial.print(DHT.temperature); 
Serial.println(" C ");
delay(5000); 
}

Sudah selesai :). Silahkan cek hasil pengukuran suhu dan kelembaban melalui jendela Serial Monitor (menu ‘Tools-Serial Monitor’).

pengukuran dht11 dengan arduino

Gimana? Mudah, bukan? Kunci dari kemudahan menangani suatu sensor dengan Arduino terletak pada banyaknya library yang banyak tersedia di internet secara gratis. Mungkin saja Anda bisa menangani output DHT11 yang menggunakan format serial data (dapat di lihat di datasheet), namun sketch Anda akan lebih panjang dan tentunya membutuhkan waktu ekstra. Dengan demikian Anda dapat lebih fokus pada ‘menyelesaikan’ sistem daripada ‘membuat’ sistem. Contoh: tentunya setelah Anda memperoleh data suhu dan kelembaban, sistem Anda kan tidak akan berhenti di situ saja bukan? Anda masih harus meneruskan data tersebut ke sistem Anda, entah itu untuk membuat remote monitoring, membuat batasan suhu untuk menyalakan pendingin (AC), membuat stasiun cuaca (Weather Station), atau apalah saya sendiri juga ngga tau sistem Anda seperti apa :). Yang jelas, dengan Arduino (dan library-nya) Anda dapat lebih fokus menyelesaikan sistem, daripada masih berkutat, “Gimana sih cara mengambil data dari DHT11?” he he he.

Selamat bereksperimen, dan semoga artikel ini bermanfaat untuk Anda. Jika ada pertanyaan silahkan isi kolom komentar di bawah. Ohya, kalo butuh sensor DHT11 yang udah jadi modul bisa beli di sini, dijamin harganya murah

3 4 votes
Article Rating

Leave a Reply

46 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
fariz

Assalamu’alaikum
bpk artikelnya sangat membantu
kalau ada artikel tentang barometer bmp 180 dengan arduino dan rain water sensor yl-83 seperti penjelasan pada web tentang dht 11 ini

tolong salamkan/kirim email ke wijayantofariz@gmail.com

Dwi Wahyudi

kang, kenapa tidak pakai resistor 10k?
soalnya yg saya baca dari sumber lain dan dari keterangan library arduino itu pake resistor dari pin 2 ke pin 1.
terimakasih.

Ardiyanto Prastyawan

Mas saya mau tanya, kalau sensor ini saya taruh di tempat yang jaraknya dengan arduino sekitar 6 km bisa tidak yah kira2?
kalau memang bisa, rangkaian apa yang perlu saya buat dibagian jumpernya, terima kasih.

Ardiyanto Prastyawan

kalau pakai jumper biasa gitu ga bisa yah?

yogie O

bang saya sudah cek output di serial monitor, 255 ternyata kabel vcc dan ground salah masuk projectboard. saya mau memperpanjang kabel sedikit dari jumper warna warni yg panjang nya sejengkal yagn yg dijual di pasaran perlu diperkuat gak bang sinyalya? tambah 5 cm doang

farid

mas, kenapa kok tidak kebaca suhu dan kelembapannya ya ?
di serial monitor tulisannya ” kelembapan udara = 0.00 % dan Suhu = 0 C” . kira2 kenapa ya mas ?
maaf saya masih sangat baru dalam hal ini mas , terima kasih

Farid

Sudah saya cek dan benar mas tapi masih g bisa

Christianus Piguno Wardoyo

mas kok pas upload selalu gk bisa ya, terus pas serial monitornya itu selalu ada tulisan Com1 is not available. Itu kenapa ya? mohon bantuannya, saya masih pemula baru banget soalnya. terimakasih

kk yalin

gan sensor dht 11 bisa di hubungkan dengan plc gak?

Triyono Guntur

Kalau arti program di baris ketiga itu apa ya mas? Saya coba kok ada tulisan error
No matching funcyion for call to”DHT ::DHT()’

Triyono

Kok sama seperti kasusnya mas Farid, Kelembabab 0.00% dan suhu 0 C, saya pakai DHT 11 yang kakinya 3 mas.

Reza samjani

Mas saya mau tanya dulu kan kkp saya pakai lm35 dan tidak pakai osiloskop untuk mengukur tegangan dipenullisan saya karena lm35 analog. Dan skripsi saya pakai dht11 apa dht11 ini termasuk analog mas? Perlukah mengukur tegangan dengan osiloskop. Makasih mas

Nurhikmah Fajar

kasus yang sama dengan saya. tapi output tegangannya sama terus untuk tiap kondisi. apakah memang bgtu? dikarenakan ?
mohon bantuannya

terimakasih

Nurhikmah Fajar

maaf. saya mau tanya itu tegangan out sensor nya mesti diukur pake osciloscop yah? soalnya saya sudah ukur pake multi analog yang, dapat 4,8-5V terus untuk tiap kondisi

Nurhikmah Fajar

iya terimakasih sebelumnya. sudah saya coba dan untuk ngkur suhu sudah berhasil. tp saya butuh data tegangan, ngukur pake avometer dapat tegangan segitu. jd tegangannya tetap yah klo pake avometer. klo pake osi bisa hitung tegagnnyakan dari grafiknya tp tidak punya osi.

Sandi

Output suhunya kalo di tampilkan ke LCD susah gak pak?

Yoshi

mas sensor dht11 ini apakah perlu di linearisasi atau di kalibrasi terlebih dahulu? mohon jawabannya

Fawaidz

Mas bagaimna sensor dht11 menangkap suhu ruangnya

reska putri ayu

hai.. bagaimana menampilkan tegangan yang dihasilkan oleh sensor dht ini?
kalau memakai adc, bagaimana cara membedahkan inisialisasi tegangan kelembaban dan suhu??

reska putri ayu

boleh minta library yang menampilkan adc kedua parameter kelembaban dan suhu kak?

rizki

kalo cara mengkalibrasikan sensor bagaimana yah mas?

Yusuf Aji Torob

Keren Mas Ajie… salam kenal

Dika

Mas saya mau tanya, apakah nilai pengukur dari dht11 itu selalu bilangan bulat? Atau bisa bilangan desimal?

46
0
Would love your thoughts, please comment.x
()
x