Skip to content Skip to sidebar Skip to footer

Cara Menggunakan Sensor DHT11 Pada Arduino

Illustration: Pixabay

A. Pengertian Sensor DHT11

Cara Menggunakan Sensor DHT11 Pada Arduino – DHT11 adalah sensor temperatur dan kelembaban. Sensor ini memiliki dua sensor didalamnya, yaitu sensor kelembaban kapasitif dan thermistor.

Meskipun termasuk sensor murah dan lamban dalam pengiriman data, tapi sensor ini cocok bagi pemula dalam membuat alat pendeteksi suhu dan kelembaban. Sensor ini memiliki spesifikasi maksimum sebagai berikut:

- Range pengukuran temperatur 0 – 50 ℃
- Range pengukuran kelembaban 20 – 90% RH
- Akurasi pembacaan temperatur ±2℃
- Akurasi pembacaan kelembaban ±5% RH
- Tegangan kerja 3.3 – 5.5V

Berikut spesifikasi detail sensor DHT11 Arduino yang saya kutip dari datasheetnya:



B. Prinsip kerja DHT11

Untuk pengiriman dan penerimaan data antara DHT11 Arduino, sensor  ini menggunakan serial interface (single wayer two-way). Artinya sensor ini hanya menggunakan satu pin saja untuk pengiriman dan penerimaan data. 

Pada datasheet, sensor ini membutuhkan waktu 4ms pada saat sekali komunikasi. Paket data yang dikeluarkan atau yang dikirimkan ke arduino sebanyak 40bit.

Adapun format data yang dikirim DHT11 ke Arduino adalah sebagai berikut: Data RH integral 8-bit + data RH desimal 8-bit + data T integral 8-bit + data T desimal 8-bit + data kondisi 8-bit.



C. Rangkaian DHT11 Arduino

Untuk dapat menggunakan sensor DHT11 pada Arduino, silahkan ikuti rangkaian berikut.

Untuk memudahkan dalam pemrograman, sudah tersedia library untuk sensor ini yang akan kita pakai menggunakan Arduino.

Ada dua cara mendapatkan library ini. Pertama dari library manager di arduino ide, kedua memasukkan secara menual.

Library yang saya lampirkan ini diambil dari adafruit industries. SIlahkan download library berikut dan masukkan ke Arduino IDE anda:


Berikut adalah contoh program mengmpilkan data suhu.

#include "DHT.h"
#define DHTPIN 2
#define DHTTYPE DHT11 // DHT 11
DHT dht(DHTPIN, DHTTYPE);
void setup() {
Serial.begin(9600);
Serial.println(F("DHTxx test!"));
dht.begin();
}
void loop() {
delay(2000);
float h = dht.readHumidity();
// Read temperature as Celsius (the default)
float t = dht.readTemperature();
// Read temperature as Fahrenheit (isFahrenheit = true)
float f = dht.readTemperature(true);
// Check if any reads failed and exit early (to try again).
if (isnan(h) || isnan(t) || isnan(f)) {
Serial.println(F("Failed to read from DHT sensor!"));
return;
}
// Compute heat index in Fahrenheit (the default)
float hif = dht.computeHeatIndex(f, h);
// Compute heat index in Celsius (isFahreheit = false)
float hic = dht.computeHeatIndex(t, h, false);
Serial.print(F("Humidity: "));
Serial.print(h);
Serial.print(F("% Temperature: "));
Serial.print(t);
Serial.print(F("°C "));
Serial.print(f);
Serial.print(F("°F Heat index: "));
Serial.print(hic);
Serial.print(F("°C "));
Serial.print(hif);
Serial.println(F("°F"));
}

Hasilnya sebagai berikut:


1 comment for " Cara Menggunakan Sensor DHT11 Pada Arduino"