Menggunakan Sensor Suhu dan Kelembapan DHT11 pada Arduino

posted in: Belajar Arduino, Modul | 0

Tutorial kali ini merupakan tutorial yang paling dasar dalam mempelajari Arduino, yaitu menggunakan modul DHT11. Kenapa DHT 11? Karena modul sensor ini merupakan modul yang paling mudah digunakan bagi pemula, selain itu, harganya juga tergolong murah. Harga satu modul sensor DHT11 tidak lebih dari 3 piring nastel di warung burjo langganan kamu.

Modul DHT11 yang banyak dijual biasanya memiliki tiga buah kaki secara berurutan, yaitu Vcc, Data, dan GND. Tetapi, alangkah baiknya cek lagi tulisan pada modul, karena modul yang dijual berasal dari berbagai macam manufakturer yang mungkin punya urutan kaki berbeda.

Skema rangkaian yang harus kamu buat:


Hubungkan Vcc/+ dengan pin 5v, GND/- dengan GND, dan Out/Data dengan pin A0. Pin Data ini bisa kamu tempatkan di barisan pin digital juga, karena sejatinya pin analog pada arduino pun termasuk pin digital juga 🙂

Selanjutnya, yang kamu butuhkan ialah library DHT dari Adafruit. Kalau library ini belum ada di software Arduino kamu, maka install dulu ya..
Kode yang kamu butuhkan…

#include "DHT.h"

#define DHTPIN A0     // Data di pin A0

#define DHTTYPE DHT11   // yang kita gunakan adalah DHT 11
//#define DHTTYPE DHT22   // kalau pakai DHT 22 silahkan uncomment


DHT dht(DHTPIN, DHTTYPE); //Deklarasi objek dht menggunakan class DHT pada library

void setup() {
  Serial.begin(9600);
  Serial.println("DHTxx test!");

  dht.begin();
}

void loop() {
  delay(2000); // delay 2 detik

  // Baca kelembapan udara dalam satuan persen (%)
  float h = dht.readHumidity();
  // Baca suhu udara dalam satuan Celsius  (default)
  float t = dht.readTemperature();
  // Baca suhu udara dalam satuan Fahrenheit (isFahrenheit = true)
  float f = dht.readTemperature(true);

  // Cek apabila ada kegagalan pembacaaan
  if (isnan(h) || isnan(t) || isnan(f)) {
    Serial.println("Failed to read from DHT sensor!");
    return;
  }

  // Hitung suhu Celcius dalam heat index
  float hif = dht.computeHeatIndex(f, h);
  // Hitung suhu Fahrenheit dalam heat index (isFahreheit = false)
  float hic = dht.computeHeatIndex(t, h, false);
  //Heat index merupakan perkiraan suhu yang dirasakan akibat..
  // .. pengaruh kombinasi suhu dan kelembapan (real feel).

  Serial.print("Humidity: ");
  Serial.print(h);
  Serial.print(" %\t");
  Serial.print("Temperature: ");
  Serial.print(t);
  Serial.print(" *C ");
  Serial.print(f);
  Serial.print(" *F\t");
  Serial.print("Heat index: ");
  Serial.print(hic);
  Serial.print(" *C ");
  Serial.print(hif);
  Serial.println(" *F");
}

Kode di atas merupakan contoh resmi dari library DHT milik Adafruit tersebut. Nah, penjelasan rinci dari kode di atas sudah termasuk di komentar programnya ya. Semoga membantu 🙂

Leave a Reply