fbpx

Tutorial Akses Data Kelembapan dan Suhu Sensor DHT11 Menggunakan Arduino Uno

DHT11 adalah perangkat elektronik yang digunakan untuk mendeteksi kelembapan dan suhu udara. Sensor ini dapat digunakan untuk mendeteksi suhu dengan satuan Celcius dan Fahrenheit. Sensor ini memiliki kemampuan  untuk mendeteksi suhu antara 0-50 ºC dengan akurasi +/-2 ºC sementara untuk kelembapannya  antara 20 to 90% dengan akurasi +/-5%. Sensor DHT11 tersedia dalam bentuk modul seperti terlihat pada gambar di bawah ini

DHT11 dapat mendeteksi suhu dan kelembapan udara karena terdapat sebuah thermistor dengan tipe NTC (Negative Temperature Coefficient). Saat thermistor mendeteksi suhu yang tinggi maka nilai resistansinya kecil. Namun berbanding terbalik saat suhu rendah nilai resistansinya akan meningkat.. Berdasarkan naik turunnya resistansi tersebut maka sensor akan menghasilkan nilai analog yang akan dikonversi (dalam satuan ºC / ºF) dan kelembapan udara (dalam satuan %). Sensor DHT11 memiliki 4 pin, namun hanya 3 yang digunakan yaitu + (VCC), Out, dan – (GND). Untuk lebih memahami cara menggunakan sensor DHT11 marilah kita buat percobaan sederhana. Dalam percobaan ini membutuhkan:

Alat dan Bahan Percobaan DHT11-Uno

  1. Arduino Uno
  2. Sensor DHT11
  3. Kabel jumper male-female secukupnya

Sebagai percobaan mari kita coba rangkaian komponen seperti pada gambar berikut ini.

Sementara untuk konfigurasi pin-nya adalah sebagai berikut:

  • Pin VCC (teg. +) dihubungkan dengan 5v Arduino Uno.
  • Pin Out dikoneksikan dengan pin A0 Arduino Uno.
  • Pin GND dikoneksikan dengan GND Arduino Uno

Source Code DHT11 – Uno

Untuk programnya, silahkan buka IDE Arduino Anda (jika belum instal silahkan unduh dulu di arduino.cc), kemudian salin baris program  sebagai berikut :

#include "DHT.h"                  //library sensor yang telah diimportkan
#define DHTPIN A0              //Pin A0 terhubung dengan modul sensor
#define DHTTYPE DHT11   // Tipe sensor yang digunakan (DHT11)
 
DHT dht(DHTPIN, DHTTYPE);
 
void setup() {
  Serial.begin(9600); //baud komunikasi serial
  Serial.println("Tutorial Akses data kelembapan dan suhu udara"); //penulisan di serial monitor
  dht.begin();         //Instruksi memulai pembacaan nilai sensor
}
 
void loop() {
  
  float kelembapan = dht.readHumidity();    // Data Kelembapan udara
  //Pembacaan dalam format celcius (c)
  float suhu_c = dht.readTemperature();       // Data suhu satuan C
  //pembacaan dalam format Fahrenheit
  float suhu_f = dht.readTemperature(true); // Data suhu satuan F
 
  //instruksi untuk periksa kegagalan pembacaan nilai sensor
  if (isnan(kelembapan) || isnan(suhu_c) || isnan(suhu_f)) {
    Serial.println("Pembacaan data sensor gagal!");
    return;
  }
  
  Serial.print("Kelembapan: "); // pembacaan data kelembapan udara
  Serial.print(kelembapan);
  Serial.print(" %\t");
  Serial.print("Suhu : ");           // pembacaan data suhu udara satuan C
  Serial.print(suhu_c);
  Serial.print("°"); 
  Serial.print("C / ");
  Serial.print(suhu_f); //Pembacaan data suhu satuan F
  Serial.print("°");
  Serial.print("F\n");
  delay(2000);
}

Catatan: jika Anda belum punya library DHT.h, Anda dapat mengunduhnya di sini atau bisa juga search di menu Library Manager di Arduino IDE

Upload sketch (program di atas) dengan menekan tombol upload atau melalui shortkey CTRL+U, pastikan pengaturan pemilihan ‘Board’ adalah Arduino Uno. Kemudian aktifkan tools ‘Serial Monitor’ di Arduino IDE melalui menu tools | Serial Monitor. Pastikan kabel USB antara laptop Anda dan Arduino terpasang dengan baik

Jika Serial Monitor menunjukkan data seperti pada gambar di atas maka percobaan yang Anda lakukan telah berhasil. Data tersebut dapat Anda gunakan sesuai dengan kebutuhan sistem Anda. Selamat mencoba …

About the Author