menampilkan-suhu-dan-kelembaban-dengan-pada-lcd-16x2-dengan-menggunakan-sensor-dht-11-dan-dht22

Menampilkan Suhu dan Kelembaban Dengan Pada LCD 16x2 dengan menggunakan Sensor DHT 11 dan DHT22

SFE Electronics 3 Comments 21-February-2019 03:18:19

I. Introduction

Pada tutorial kali ini, kita akan membuat sebuah percobaan untuk menampilkan informasi data suhu dan data kelembaban udara dari sensor DHT 11 atau sensor DHT 11 pada display yang berupa LCD dengan ukuran 16x2, dengan menggunakan Arduino Uno sebagai mikrokontroller boardnya.

DHT 11 dan DHT 22 merupakan sebuah sensor yang dapat membaca suhu dan kelembaban dengtan spesifikasi sebagai berikut

DHT 11 Spesifikasi DHT 22
0 - 50ºC / ±2ºC Temperature Range -40 - 125ºC / ±0.5ºC
20 - 80% / ±5% Humidity Range 0 - 100% / ± 2-5%
1Hz Sampling Rate 0.5Hz
15.5mm x 12mm x 5.5mm Body Size 15.1mm x 25mm x 7.7mm
3 - 5V Operating voltage 3 -5V

II. Alat-alat yang dibutuhkan

  • Arduino Uno
  • Kabel jumper male to female
  • LCD 16x2
  • DHT 11 atau DHT 22 sensor module

III. Schematic

               Koneksi PIN
Arduino Pin                  LCD Pin

4                   --------   D7

5                   --------   D6

6                   --------   D5

7                   --------   D4

11                 --------   RS

12                 --------   E

        

IV. Source Code


#include <LiquidCrystal.h> 
#include <DHT.h> 
#define DHTPIN 2 //Mendefinisikan Pin A2 sebagain input DHT
#define DHTTYPE DHT22 // Mendefiniskan tipe DHT yang digunakan

DHT dht(DHTPIN,DHTTYPE); // Membuat obyek DHT
LiquidCrystal lcd(12,11,7,6,5,4); // Membuat obyek LCD

void setup() {
  dht.begin();
  Serial.begin(9600);
  lcd.begin(16,2);
  lcd.clear();
}

void loop() {
  delay(500);
  int HUM = dht.readHumidity();
  float TEMP = dht.readTemperature();

  if (isnan(HUM) || isnan(TEMP)){
    Serial.println("Gagal membaca dari DHT 11");
    lcd.clear();
    lcd.print(HUM);
  }else{
    lcd.clear();
    lcd.print("HUM  :");
    lcd.setCursor(7,0);
    lcd.print(String(HUM)+String("%"));
    lcd.setCursor(0,1);
    lcd.print("SUHU :");
    lcd.setCursor(7,1);
    lcd.print(String(TEMP)+String(" C")+String(char(223)));
    delay(300);
  }
}

V. Video Hasil Percobaan