Interface DHT11 (Sensor Suhu dan Kelembaban) dengan Arduino 

Sensor DHT11 adalah sensor untuk mengukur suhu dan kelembaban, sensor ini mampu mengukur kelembaban pada rentang 20-90% RH sedangkan suhu yang bisa diukur pada rentang 0-50 oC. Bentuk fisik sensor ini dapat dilihat pada gambar di bawah ini:

sensor DHT11 pin

Gambar 1. Sensor DHT11

Pada DHT11 berisi NTC termsitor untuk mengukur suhu. Termistor adalah resistor termal yang nilai resistansinya berubah secara drastis terhadap perubahan suhu. NTC berarti negative temperature coefficient, oleh karena itu pada sensor ini resistansi berkurang seiring dengan kenaikan suhu. Sampling rate dari sensor DHT11 adalah 1Hz, artinya pembacaan suhu dan kelembaban dapat dilakukan tiap 1 detik.

Menampilkan suhu dan kelembaban di serial monitor

1. Buat rangkaian antara DHT11 dengan Arduino, seperti pada tabel di bawah ini:

Tabel 1. Koneksi pin DHT11 dengan Arduino Uno
koneksi dht11 ke arduino

Supaya lebih jelas, rangkaiannya dapat dilihat pada gambar di bawah ini:

dht11 ke arduino

Gambar 1. Koneksi DHT11 dengan Arduino

2. Buat file baru dan masukkan library DHT11 ke IDE Arduino, librarynya dapat didownload pada link di bawah ini:

DHTlib

3. Ketikkan kode berikut di IDE Arduino:

#include <dht.h> // masukkan library DHT11
#define outPin 8 // pin 8 sebagai outPin

dht DHT; // membuat objek bernama DHT

void setup() {
  Serial.begin(9600);
}

void loop() {
  int readData = DHT.read11(outPin);

  float t = DHT.temperature; // membaca suhu
  float h = DHT.humidity; // membaca kelembaban

  Serial.print("Suhu = ");
  Serial.print(t);
  Serial.print("°C | ");
  Serial.print((t*9.0)/5.0+32.0); // konversi celsius ke fahrenheit
  Serial.println("°F ");
  Serial.print("Kelembaban = ");
  Serial.print(h);
  Serial.println("% ");
  Serial.println("");

  delay(2000); // delay 2 detik
}

4. Hubungkan arduino ke laptop

5. Upload kode program ke board Arduino, buka serial monitor yang berada di sebelah kanan atas. Hasilnya dapat dilihat pada gambar di bawah ini:

suhu dan kelembaban di serial monitor

Gambar 2. Pembacaan suhu dan kelembaban di serial monitor

Menampilkan suhu dan kelembaban pada LCD

1. Buat rangkaian antara DHT11, I2C LCD dan Arduino seperti pada tabel berikut ini:

Tabel 2. Koneksi DHT11, I2C LCD dan Arduino
koneksi dht11 ke arduino dan lcd

Supaya lebih jelas, rangkaiannya dapat dilihat pada gambar di bawah ini:

dht11 ke arduino dan lcd

Gambar 3. Koneksi DHT11 dengan I2C LCD dan Arduino Uno

2. Selanjutnya, buat file baru di IDE Arduino. Jika belum memiliki library I2C LCD, sebaiknya ikuti tutorial di link ini.

3. Jika library I2C LCD sudah dimasukkan ke IDE Arduino, ketikkan kode berikut ini:


#include <dht.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27, 16, 2); //0x27 adalah alamat i2c

#define outPin 8 //pin 8 sebagai pin output dari DHT11
dht DHT; // membuat objek DHT

void setup() {
  lcd.begin();
  lcd.backlight(); //supaya lampu backlightnya nyala
  lcd.clear(); //layar lcd kosong
  lcd.setCursor(2,0); //2 berarti kolom ke-2 (ada 16 kolom), 0 berarti baris paling atas
  lcd.print("WELCOME TO");
  lcd.setCursor (2,1);
  lcd.print("pauzan.com");
  delay(2000);
}

void loop() {
  int readData = DHT.read11(outPin);

  float t = DHT.temperature;
  float h = DHT.humidity;

  lcd.setCursor(0,0);
  lcd.print("Suhu: ");
  lcd.print(t);
  lcd.print((char)223);//menunjukkan simbol derajat
  lcd.print("C");

  lcd.setCursor(0,1);
  lcd.print("Kelemb.: ");
  lcd.print(h);
  lcd.print("%");

  delay(2000);
}

4. Upload ke board Arduino, maka hasilnya dapat dilihat pada gambar berikut:

Gambar 4. Suhu dan kelembaban ditampilkan di LCD

Leave a Reply

Your email address will not be published. Required fields are marked *