Cara Mengukur Suhu dan Kelembaban dengan DHT11 dan Arduino

Belajar tentang Sensor DHT11 dan Cara Menggunakannya dengan Arduino untuk Mengukur Suhu dan Kelembaban
Gambar sensor DHT11

Hai sob, pada artikel kali ini saya akan menjelaskan cara mengukur suhu dan kelembaban menggunakan DHT11 dan Arduino. Bagi teman-teman yang sudah lama bermain Arduino pasti sudah tidak asing lagi dengan sensor DHT11 dan DHT22, sensor yang biasa terdapat di dalam paket belajar Arduino. 

Bagi yang belum tahu, sensor DHT11 dan DHT22 adalah sebuah sensor yang mampu mengukur suhu dan kelembaban. Sensor ini banyak digunakan di dalam proyek-proyek sederhana yang berkaitan dengan pengukuran suhu dan kelembaban seperti monitoring suhu ruangan berbasis IoT.

Di dalam artikel ini saya akan menjelaskan sedikit mengenai spesifikasi DHT11 dan DHT22, perbedaan dari kedua sensor tersebut, cara kerja sensor DHT11 dan DHT22, lalu kemudian akan membahas cara menggunakan sensor DHT11 dan DHT22 pada Arduino serta rangkaian dan beberapa contoh program yang bisa langsung digunakan. 

Spesifikasi Sensor DHT11 dan DHT22

Spesifikasi DHT11: 

  • Tegangan kerja = 3.3V-5V.
  • Arus maksimum = 2.5mA
  • Range pengukuran kelembaban = 20%-80%
  • Akurasi pengukuran kelembaban = 5%
  • Range pengukuran suhu = 0°C-50°C
  • Akurasi pengukuran suhu = 2°C
  • Kecepatan pengambilan sampel tidak lebih dari 1 Hz (setiap detik)
  • Ukuran = 15.5 mm x 12 mm x 5.5 mm
  • 4 pin dengan jarak 0,1 "

Spesifikasi DHT22:

  • Tegangan kerja = 3.3V-5V.
  • Arus maksimum = 2.5mA
  • Range pengukuran kelembaban = 0%-100%
  • Akurasi pengukuran kelembaban = 2-5%
  • Range pengukuran suhu = -40°C-80°C
  • Akurasi pengukuran suhu = 0.5°C
  • Kecepatan pengambilan sampel tidak lebih dari 0.5 Hz (setiap detik)
  • Ukuran = 15.1 mm x 25 mm x 7.7 mm
  • 4 pin dengan jarak 0,1 "

Perbedaan antara DHT11 dan DHT22

Perbedaan antara DHT11 dan DHT22 antara lain:

  1. Range pengukuran suhu. Dimana DHT11 (0℃-50℃), sedangkan DHT22 (-40℃-80℃).
  2. Akurasi pengukuran suhu. Dimana DHT11 memiliki akurasi 2℃ sedangkan DHT22 sebesar 0.5℃.
  3. Range pengukuran kelembaban. DHT11 (20%-80%) sedangkan DHT22 (0%-100%).
  4. Akurasi pengukuran kelembaban. DHT11 memiliki akurasi 5% sedangkan DHT22 sebesar 2%-5%.
  5. Kecepatan update data. DHT11 setiap 1 detik sekali sedangkan DHT22 2 detik sekali.

Untuk melihat perbedaan lebih jelas, silakan sobat lihat perbandingan antara kedua sensor pada gambar berikut. 

Kelebihan dan kekurangan DHT11 dan DHT22, beda DHT11 dan DHT22

Cara kerja Sensor DHT11 dan DHT22

Cara kerja sensor DHT11 dan DHT22 adalah sama. Cara DHT11 mengukur kelembaban adalah dengan mendeteksi uap air dengan mengukur resistansi listrik antara dua elektroda. Komponen pendeteksi kelembaban yang digunakan adalah berupa substrat penahan kelembaban dengan elektroda.

Ketika uap air diserap oleh substrat, ion dilepaskan oleh substrat yang akan menyebabkan peningkatan terhadap konduktivitas antar elektroda. Perubahan resistansi antara kedua elektroda sebanding dengan kelembaban relatif. Kelembaban relatif yang lebih tinggi akan mengurangi resistensi antara elektroda, sementara kelembaban relatif yang lebih rendah akan meningkatkan resistensi antara elektroda.

Prinsip kerja DHT11 dalam mengukur kelembaban

Cara DHT11 mengukur suhu adalah dengan menggunakan sensor termistor yang terpasang di permukaan. Termistor sebenarnya adalah sebuah resistor variabel dengan resistansi yang berubah-ubah terhadap perubahan suhu.

Sensor-sensor ini dibuat dengan sintering bahan semikonduktor seperti keramik atau polimer untuk memberikan perubahan resistansi yang lebih besar hanya dengan perubahan suhu yang kecil. Istilah "NTC" berarti "Negative Temperature Coefficient", yang berarti bahwa nilai resistansi akan berkurang jika suhu meningkat.

Prinsip kerja DHT11 dalam mengukur Suhu, sensor suhu pada DHT11

Pinout pada DHT11 dan DHT22

Berbicara mengenai pin pada sensor DHT11 dan DHT22, ada 2 jenis yang dijual di pasaran, yakni sensor dengan 3 pin dan 4 pin, fungsinya tetap sama, hanya jumlah pin yang berbeda. Karena pemetaan pin dari kedua tipe sensor tersebut sama, jadi pada gambar di bawah ini hanya dicontohkan dengan sensor DHT22. Untuk lebih jelasnya sobat bisa lihat gambar berikut. 

DHT22 dan DHT11 dengan 4 pin:

Pinout DHT22 4 pin

DHT22 dan DHT11 dengan 3 pin:

Pinout DHT22 3 pin, penjelasan pin DHT11

Cara Menggunakan Sensor DHT11 dan DHT22 pada Arduino

Untuk menggunakan sensor DHT11 atau DHT22 pada Arduino, kita terlebih dahulu harus mengetahui rangkaiannya terhadap Papan Arduino. Pada tutorial ini saya menggunakan papan Arduino Uno dengan ATmega328P sebagai mikrokontroler. Jika sobat menggunakan papan Arduino lain, sobat tinggal sesuaikan pin-pinnya dengan papan Arduino yang sobat miliki. Oke, mari kita mulai!

  • Siapkan alat yang dibutuhkan.
  • Buatlah rangkaian DHT11/DHT22 seperti gambar dibawah.

    Wiring diagram:

    Rangakain Arduino DHT11, DHT11 wiring diagram, mengukur suhu dan kelembaban menggunakan DHT11 dan Arduino

    Skematik pada Aplikasi Proteus (Download simulasi proteus):

    Cara Mengukur Suhu dan Kelembaban dengan DHT11 dan Arduino

  • Pastikan sudah mengunduh Arduino IDE.
  • Download DHT Sensor Library untuk Arduino jika belum ada dan masukkan ke folder C:\Program Files\Arduino\libraries.
  • Buka Arduino IDE dan buat New File.
  • Paste program di bawah ini ke Arduino IDE. Atau download: DHT_Sensor.ino
  • #include "DHT.h"
    #define DHTPIN 2 // Deklarasi PIN DHT11
    #define DHTTYPE DHT11   // Tipe sensor yang digunakan (DHT11 atau DHT22)
    DHT dht(DHTPIN, DHTTYPE);
    
    void setup() {
      Serial.begin(9600);
      Serial.println(F("DHTxx test!"));
      dht.begin();
    }
    
    void loop() {
      delay(2000);
      float h = dht.readHumidity(); // Membaca kelembaban
      float t = dht.readTemperature(); // Membaca suhu dalam satuan Celsius
      float f = dht.readTemperature(true); // Membaca suhu dalam satuan Fahrenheit
    
      if (isnan(h) || isnan(t) || isnan(f)) {
        Serial.println(F("Gagal membaca sensor!!!"));
        return;
      }
      
      float hif = dht.computeHeatIndex(f, h);
      float hic = dht.computeHeatIndex(t, h, false);
    
      Serial.print("Kelembaban: "); // Menampilkan data kelembaban di serial monitor
      Serial.print(h);
      Serial.println("%");
      
      Serial.print("Temperatur (C): "); // Menampilkan data Suhu (C) di serial monitor
      Serial.print(t);
      Serial.println(" C");
        
      Serial.print("Temperatur (F): "); // Menampilkan data Suhu (F) di serial monitor
      Serial.print(f);
      Serial.println(" F");
      Serial.println(" ");
    }
  • Setelah itu hubungkan papan Arduino ke komputer, pilih tipe board dan port yang sesuai dengan yang sobat gunakan. 
  • Kemudian upload program.
  • Jika berhasil kemudian buka serial monitor dan lihat apakah data berhasil ditampilkan. Jika program benar maka tampilan yang keluar pada serial monitor kurang lebih seperti gambar berikut.

    Cara Mengukur Suhu dan Kelembaban dengan DHT11 dan Arduino
  • Selesai

Penutup

Mungkin itu saja mengenai tutorial menggunakan sensor DHT11 dan DHT22 pada Arduino, semoga artikel ini bermanfaat, mungkin di lain waktu kita akan mencoba menampilkan data pembacaan sensor DHT11/DHT22 ke LCD 16x2. 

Penghobi Elektronika