Tutorial: Monitoring Suhu dan Kelembaban Menggunakan DHT11

Heyyy Ham
Amikom Computer Club
4 min readMay 29, 2021

Halo semuanya, kali ini kita akan belajar bagiamana sih caranya monitoring suhu menggunakan sensor DHT 11. Bagi yang belum tahu apa itu sensor DHT11, bisa dibaca dulu disini ya

Nahh untuk menggunakan DHT11 ada beberapa komponen yang perlu kita siapin nih:

  1. Microcontroller: bisa menggunakan NodeMCU, Wemos, atau Arduino. Dalam kasus ini, aku pake Wemos D1 R1 ya
  2. Sensor DHT11
  3. Breadboard
  4. LCD 16x2
  5. Kabel Jumper Male to Male
  6. Kabel Jumper Male to Female

Kalo udh disiapin alatnya, lanjuttt ke perakitannya nih…

Step 1, hubungkan sensor DHT11 pada Breadboard jalur tengah. Lalu sambungkan kabel jumper male to male ke jalur yang sama. Kabel warna merah untuk VCC (+), coklat untuk VOut, hitam untuk GND (-)

Step 2, hubungkan kabel jumper yang telah dihubungkan ke Breadboard td, ke Microcontroller

Step 3, hubungkan kabel jumper Female to Male ke LCD. Warna merah untuk VCC (+), hitam untuk GND (-), biru untuk SDA, coklat untuk SCL

Step 4, hubungkan kabel pada LCD tadi ke Microcontroller. Hubungkan kabel SDA ke pin D14 dan kabel SCL ke D15. Untuk pin SCL dan SDA menyesuaikan dari microcontroller ya, bisa dicari di Google

Nahh kurang lebih kyk diatas ya rangkaiannya, kurang rapi sih tapi gpp lah ya wkwkwk

Step berikutnya kita ngoding nih. Siapkan dan buka aplikasi Arduino IDE ya

Kemudian pergi ke Sketch > Include Library > Manage Libries > ketik DHT11 pada kolom pencarian. Lalu install DHT Sensor library dan LiquidCrystal I2C nya ya. Klo udh diinstall, klik close

Okey kita beralih ke canvas atau code editornya. Import dulu library yang dibutuhkan ya

#include <LiquidCrystal_I2C.h>
#include <DHT.h>

Selanjutnya kita definisikan pin yang akan kita pakai. Tadi kita menggunakan D4 (VOut Sensor DHT11)

int pinData = D4;

Langkah berikutnya adalah mengatur address, karakter dan baris pada LCD yang digunakan. Terdapat 3 parameter, 0x27 adalah address, 16 adalah jumlah karakter, dan 2 adalah jumlah baris. Untuk mencari address LCD I2C bisa dilihat disini ya

LiquidCrystal_I2C lcd(0x27,16,2);

Selanjutnya, buat object untuk sensor DHT11

DHT dht(DHTPIN, DHTTYPE);

Langkah berikutnya, pada void setup(). Kita inisialisasi dan hidupkan backlight LCD, dan kita jalankan object DHT nya

void setup() {
lcd.init(); // insialisasi LCD
lcd.backlight(); // memastikan backlight LCD hidup
dht.begin(); // menjalankan object DHT
}

Pada void loop() kita buat variable baru untuk menampung data suhu dan kelembaban dari sensor

 float suhu = dht.readTemperature();
float kelembaban = dht.readHumidity();

Tambahkan kode dibawah ini untuk menampilkan ke LCD

lcd.setCursor(0,0);
lcd.print(“Suhu: “);
lcd.println(suhu);
lcd.print(“Hum: “);
lcd.println(kelembaban);

Berikut source code keseluruhannya:

#include <LiquidCrystal_I2C.h>
#include <DHT.h>
#define DHTPIN D4
#define DHTTYPE DHT11
LiquidCrystal_I2C lcd(0x27,16,2);DHT dht(DHTPIN, DHTTYPE);void setup() {
lcd.init(); // insialisasi LCD
lcd.backlight(); // memastikan backlight LCD hidup
dht.begin(); // menjalankan object DHT
Serial.begin(9600);
}
void loop() {
float suhu = dht.readTemperature();
float kelembaban = dht.readHumidity();
lcd.setCursor(0,0);
lcd.print(“Suhu: “);
lcd.println(suhu);
lcd.print(“Hum: “);
lcd.println(kelembaban);

}

Nahh udah selesai nih, tinggal jalankan sketch Arduinonya dan lihat hasilnya…

--

--