Langsung ke konten utama

Cara Mudah Program Sensor Suhu Dan Kelembaban DHT11 Dengan Arduino

Sebelumnya kita pernah mencoba Sensor Suhu LM35, dengan berbagai macam percobaan kreatifnya. Masih dengan tema yang sama, kita akan mencoba Sensor Suhu dan Kelembaban DHT11. Ya satu sensor ini, bisa baca suhu (temperature) dan juga kelembaban (humidity).
Sensor Suhu dan Kelembaban DHT11
Jika kamu menggunakan Modul, kamu bisa langsung memasang ke Arduinonya. Tapi jika ingin mencoba pada breadboard, maka siapkanlah:

1x Breadboard
1x Arduino
1x DHT11 Sensor
1x Resistor 10 Kilo Ohm
5x kabel Jumper male-male

Lalu buatlah rangkaian seperti gambar dibawah ini:

NOTES:
  1. Hubungkan kaki ke-1 DHT11 ke 5V Arduino
  2. Hubungkan kaki ke-2 DHT11 ke pin 2 Arduino
  3. dengan menggunakan Resisitor 10 Kilo Ohm, hubungkan kaki ke-2 DHT11 ke 5V Arduino.
  4. Hubungkan kaki ke-4 DHT11 ke GND Arduino
  5. Untuk kaki Ke-3 DHT11 kita abaikan saja :D
Dengan rangkaian yang seperti diatas saya buat DHT11 saya menjadi DIY Modul. Yang mana hasil jadinya seperti dibawah ini:


Untuk pemrogramannya kita akan menggunakan Library DHT. Untuk itu kamu perlu insert librarynya terlebih dahulu ke Arduino. Tapi, kamu harus punya dulu Librarynya, untuk itu silahkan download pada Link dibawah ini:


Jika sudah selanjutnya adalah:

1. Buka aplikasi Arduinonya, lalu Masuk ke menu SKETCH, pilih INCLUDE LIBRARY, pilih ADD. ZIP Library...


2. Cari file Library yang tadi sudah kamu Download, lalu OPEN.


3. Jika berhasil, aplikasi Arduino kamu akan muncul keterangan seperti dibawah ini:

Oke sekarang silahkan kamu salin Ulang Program Dibawah ini:

 #include "DHT.h//Memasukan Library DHT ke Program

#define DHTPIN 2  //menggunakan pin 2 untuk pemasangan sensornya
#define DHTTYPE DHT11 //memilih tipe DHT11, bisa diubah menjadi DHT22, DHT21

DHT dht(DHTPIN, DHTTYPE);  //setting pin yang dipilih dan tipe DHT

void setup() {
  Serial.begin(9600);  //komunikasi Serial dengan komputer
  dht.begin(); //Komunikasi DHT dengan Arduino
}

void loop() {
 
  float kelembaban = dht.readHumidity(); //menyimpan nilai Humidity pada variabel kelembaban
  float suhu = dht.readTemperature(); //menyimpan nilai Temperature pada variabel suhu
 
  Serial.print(" Kelembaban: "); //menampilkan tulisan Kelembaban di Serial Monitor
  Serial.print(kelembaban); //menampilkan nilai kelembaban
  Serial.print(" Suhu: "); //menampilkan tulisan suhu
  Serial.println(suhu); //menampilkan nilai suhu
 
  delay(500); //memberi jeda waktu baca selama 500 mili detik

 Jika sudah DONE UPLOADING, sekarang kamu sudah bisa lihat nilainya di Serial Monitor.




Dari Serial Monitor menunjukan Kelembaban 61% dan Suhunya 29 Derajat Celcius. Tentu saja nilainya akan berbeda ditempat kamu, tergantung suhu dan kelembaban di lingkungan kamu. Nah untuk melihat perubahan nilai atau membuat nilai menjadi naik. Kamu bisa pegang sensornya, maka nilainya akan berubah.

BONUS MATERI: MENGENDALIKAN LED DENGAN SENSOR SUHU

Untuk mengendalikan LED berdasarkan suhu dan kelembaban kamu hanya tinggal menambahkan program untuk LEDnya dan Pogram If. Silahkan salin program dibawah ini: 

#include "DHT.h//Memasukan Library DHT ke Program 
#define DHTPIN 2  //menggunakan pin 2 untuk pemasangan sensornya
#define DHTTYPE DHT11 //memilih tipe DHT11, bisa diubah menjadi DHT22, DHT21
 

DHT dht(DHTPIN, DHTTYPE);  //setting pin yang dipilih dan tipe DHT
int led= 13; 


void setup() {
   Serial.begin(9600);  //komunikasi Serial dengan komputer
   dht.begin(); //Komunikasi DHT dengan Arduino
   pinMode(led, OUTPUT);

}
 

void loop() {
     float kelembaban = dht.readHumidity(); //menyimpan nilai Humidity pada variabel kelembaban
     float suhu = dht.readTemperature(); //menyimpan nilai Temperature pada variabel suhu
    
     Serial.print(" Kelembaban: "); //menampilkan tulisan Kelembaban di Serial Monitor
     Serial.print(kelembaban); //menampilkan nilai kelembaban
     Serial.print(" Suhu: "); //menampilkan tulisan suhu
     Serial.println(suhu); //menampilkan nilai suhu
    
     delay(500); //memberi jeda waktu baca selama 500 mili detik

     
     //Jika Kelembaban lebih besar dari 65.00 atau suhu lebih besar dari 32.00 led akan menyala
     //Jika Kelembaban lebih kecil dari 66.00 atau suhu lebih kecil dari 33.00 led akan mati

     
     if ( kelembaban > 65.00){
        digitalWrite(led, HIGH);
      }
     if ( suhu > 32.00){
        digitalWrite(led, HIGH);
      }
     if ( kelembaban < 66.00){
        digitalWrite(led, LOW);
      }
     if ( suhu < 33.00){
        digitalWrite(led, LOW);
      }


   }
Pembahasan lanjutan: Alat Pengatur Suhu dan Kelembaban Otomatis Sensor DHT11, LCD, dan Relay!

Selamat Mencoba!

Komentar

  1. gan, ane nyoba kok muncul pesan
    exit status 1
    Error compiling for board Arduino/Genuino Uno.

    BalasHapus
  2. gan pas nyobain pake led kenapa si led nya redup ya gan? udah pake Resistor yg 330 ohm?

    BalasHapus
  3. Ternyata di Arduino suda ada library untuk memprogram sensor DHT 11, saya pernah nyoba program sensor ini pake mikrokontroler, panjang banget programnya, jauh lebih enak pake Arduino

    BalasHapus
  4. Gan punya ku kok gak bisa keluar angka suhu dan kelembapan nya ya malah muncul nya nan

    BalasHapus

Posting Komentar

Postingan populer dari blog ini

Belajar Pemrograman Dasar Arduino!

Yang yang baru pertama kali belajar arduino silahkan masuk dulu ke KELAS ARDUINO . Seperti yang saya bilang pada postingan sebelumnya, bahasa pemrograman Arduino mirip bahasa C yang digunakan pada AVR. Akan tetapi lebih sederhana, dan lebih mudah untuk dipelajari. Ada yang bilang juga bahwa bahasa pemrograman Arduino adalah bahasa processing. Bagi saya bahasa pemrograman yang digunakan pada Arduino adalah bahasa pemrograman Arduino ;) hehe Nah pada kelas ini saya ingin mengajak kamu untuk belajar Bahasa Pemrograman Dasarnya. Penting sekali, supaya saat dipembahasan selanjutnya saya kasih kamu contoh program. Kamu sudah bisa memahami dan tidak bingung, karena kamu sudah tahu dasarnya. Ok! Baiklah kita akan mulai dari: void setup () { // semua kode yang disini akan dibaca sekali oleh Arduino } void loop () { //semua kode yang ada disini akan dibaca berulang kali (terus menerus) oleh Arduino } Semua kode program yang ada dalam void setup akan dibaca sekali oleh A

Membuat Jam Digital Dengan Arduino Uno, RTC DS1302, dan LCD i2C!

Kita akan membuat Jam Digital menggunakan Arduino Uno sebagai Controllernya, RTC DS1302 sebagai data untuk waktu dan tanggalnya, dan LCD i2C untuk menampilkan data waktu dan tanggalnya. Ini merupakan gabungan dari postingan sebelumnya, jadi yang belum coba saya sarankan coba dulu kedua posting berikut: Cara Simpel Program LCD i2C 16x2 Menggunakan Arduino Cara Mudah Program RTC Module DS1302 Jam Digital Dengan Arduino Ok! Yang harus kamu siapkan adalah... 1x Arduino Uno 1x RTC DS1302 1x LCD i2C 9x Kabel Jumper Male-Female Pasanglah seperti pada gambar rangkaian dibawah ini: Sebelum masuk ke-pemrograman ada 2 library yang harus kamu masukan ke Arduino. Library lCD i2C dan Library untuk RTCnya, silahkan Download dulu lewat Link di bawah ini: DOWNLOAD LIBRARY LiquidQrystal_i2c (DROPBOX) DOWNLOAD LIBRARY virtuabotixRTC (DROPBOX) Bagi yang masih bingung cara masukin Library ke aplikasi arduinonya,