Anda di halaman 1dari 8

Penjelasan Singkat

Sensor DHT11 adalah module sensor yang berfungsi untuk mensensing objek suhu dan
kelembaban yang memiliki output tegangan analog yang dapat diolah lebih lanjut menggunakan
mikrokontroler.
Module sensor ini tergolong kedalam elemen resistif seperti perangkat pengukur suhu seperti
contohnya yaitu NTC.
Kelebihan dari module sensor ini dibanding module sensor lainnya yaitu dari segi kualitas
pembacaan data sensing yang lebih responsif yang memliki kecepatan dalam hal sensing objek
suhu dan kelembaban, dan data yang terbaca tidak mudah terinterverensi.
Sensor DHT11 pada umumya memiliki fitur kalibrasi nilai pembacaan suhu dan kelembaban
yang cukup akurat.
Penyimpanan data kalibrasi tersebut terdapat pada memori program OTP yang disebut juga
dengan nama koefisien kalibrasi.
Sensor ini memiliki 4 kaki pin, dan terdapat juga sensor DHT11 dengan breakout PCB yang
terdapat hanya memilik 3 kaki pin seperti gambar dibawah ini

Bentuk Fisik DHT11


Spesifikasi :

 Tegangan masukan : 5 Vdc


 Rentang temperatur :0-50 ° C kesalahan ± 2 ° C
 Kelembaban :20-90% RH ± 5% RH error

Tutorial cara mengakses Sensor DHT11 menggunakan Arduino


Uno
Bahan yang diperlukan :

 Arduino Uno
 Komputer + Software IDE Arduino
 Sensor DHT11
 Resistor 4.7 KΩ
 Breadboard
 Kabel Jumper

WiringS Schematic

Skema yang perlu dirangkaikan


Hal yang perlu diperhatikan yaitu dikarenakan pada software IDE arduino tidak ada library
DHT11 maka perlu ditambahkan dahulu untuk memudahkan dalam pemrogramannya.
Langkah – langkah untuk installing library DHT11 dengan catatan terhubung internet :

1. Buka Software arduino uno IDE


2. Arahkan cursor pada menu sketch -> include libraries -> manage libraries
3. Ketikan “DHT11“
4. Pilih “DHT Sensor Library by Adafruit“
5. Klik install dan closed
Contoh kode untuk pemrogramannya

1  
2  
3 /* --- www.nyebarilmu.com --- */
4 #include "DHT.h" //library sensor yang telah diimportkan
5 #define DHTPIN 2     //Pin apa yang digunakan
6 #define DHTTYPE DHT11   // DHT 11
7  
8 DHT dht(DHTPIN, DHTTYPE);
9  
10 void setup() {
11   Serial.begin(9600); //baud komunikasi serial
12   Serial.println("Pengujian DHT11!"); //penulisan di serial monitor
13   dht.begin(); //prosedur memulai pembacaan module sensor
14 }
15  
16 void loop() {
17   delay(2000);  //menunggu beberapa detik untuk pembacaan
18  
19   //pembacaan sensor membutuhkan waktu 250ms
20  
21   //Pembacaan untuk data kelembaban
22   float humidity_1 = dht.readHumidity();
23   //Pembacaan dalam format celcius (c)
24   float celcius_1 = dht.readTemperature();
25   //pembacaan dalam format Fahrenheit
26   float fahrenheit_1 = dht.readTemperature(true);
27  
28   //mengecek pembacaan apakah terjadi kegagalan atau tidak
29   if (isnan(humidity_1) || isnan(celcius_1) || isnan(fahrenheit_1)) {
30     Serial.println("Pembacaan data dari module sensor gagal!");
31     return;
32   }
33  
34   float htof = dht.computeHeatIndex(fahrenheit_1, humidity_1);
35   //Prosedur pembacaaan data indeks panas dalam bentuk fahreheit
36   float htoc = dht.computeHeatIndex(celcius_1, humidity_1, false);
37 //Prosedur pembacaaan data indeks panas dalam bentuk celcius
38  
39   //pembacaan nilai pembacaan data kelembaban
40   Serial.print("Kelembaban: ");
41   Serial.print(humidity_1);
42   Serial.print(" %\t");
43   
44   //pembacaan nilai pembacaan data suhu
45   Serial.print("Suhu : ");
46   Serial.print(celcius_1); //format derajat celcius
47   Serial.print("°"); //simbol derajat
48   Serial.print("C / ");
49   Serial.print(fahrenheit_1); //format derajat fahrenheit
50   Serial.print("°");
51   Serial.print("F\t");
52  
53   Serial.print("Indeks Panas: ");
54   Serial.print(htof);
55   Serial.print("°");
56   Serial.print("F / ");
57   Serial.print(htoc);
58   Serial.print("°");
59   Serial.println("C ");
60  
61 }
62  
Hasil pembacaan dapat diamati pada serial monitor.
Tutorial cara mengakses Sensor DHT11 dengan display LCD
16×2
Bahan – bahan yang diperlukan :

a. Arduino Uno atau Nano


b. Module suhu dan kelembaban
c. Kabel jumper male to female male 8 pcs
d. Breadboard
e. LCD 16×2 dan PCF8574
f. Komputer + arduino IDE

Skema dan wiring

Langkah – langkah untuk installing library driver PCF8574 dengan catatan terhubung internet :

1. Buka Software arduino uno IDE


2. Arahkan cursor pada menu sketch -> include libraries -> manage libraries
3. Ketikan “PCF8574“
4. Pilih “LiquidCrystal_PCF8574 by Matthias Hertel“
5. Klik install dan closed
Sebelum masuk ke program harap dicek dahulu untuk address driver lcd nya menggunakan i2c
scanner dapat dicek pada link ini :

Baca juga :  Cara mencari tahu alamat interface i2c module arduino

Kode Program komplit

1  
2  
3 /* --- www.nyebarilmu.com --- */
4 #include "DHT.h" //library sensor yang telah diimportkan
5 #include <LiquidCrystal_PCF8574.h>
6 #include <Wire.h>
7  
8 #define DHTPIN 2    //Pin apa yang digunakan
9 #define DHTTYPE DHT11   // DHT 11
10  
11 LiquidCrystal_PCF8574 lcd(0x27);
12  
13 DHT dht(DHTPIN, DHTTYPE);
14  
15 byte pic_termo[8] = //icon for termometer
16 {
17     B00100,
18     B01010,
19     B01010,
20     B01110,
21     B01110,
22     B11111,
23     B11111,
24     B01110
25 };
26  
27 byte pic_humd[8] = //icon for water droplet
28 {
29     B00100,
30     B00100,
31     B01010,
32     B01010,
33     B10001,
34     B10001,
35     B10001,
36     B01110,
37 };
38  
39 void setup() {
40   Serial.begin(9600); //baud komunikasi serial
41   Serial.println("Pengujian DHT11!"); //penulisan di serial monitor
42   lcd.begin(16, 2);
43   lcd.setBacklight(255);
44   lcd.setCursor(0,0);
45   lcd.print("TRIAL DHT11");
46   lcd.setCursor(0,1);
47   lcd.print("nyebarilmu.com");
48   delay(2000);
49   lcd.clear();
50   lcd.createChar(1,pic_termo);
51   lcd.createChar(2,pic_humd);
52   dht.begin(); //prosedur memulai pembacaan module sensor
53 }
54  
55 void loop() {
56   delay(2000);  //menunggu beberapa detik untuk pembacaan
57  
58   //pembacaan sensor membutuhkan waktu 250ms
59  
60   //Pembacaan untuk data kelembaban
61   float humidity_1 = dht.readHumidity();
62   //Pembacaan dalam format celcius (c)
63   float celcius_1 = dht.readTemperature();
64   //pembacaan dalam format Fahrenheit
65   float fahrenheit_1 = dht.readTemperature(true);
66  
67   //mengecek pembacaan apakah terjadi kegagalan atau tidak
68   if (isnan(humidity_1) || isnan(celcius_1) || isnan(fahrenheit_1)) {
69     Serial.println("Pembacaan data dari module sensor gagal!");
70     return;
71   }
72  
73   float htof = dht.computeHeatIndex(fahrenheit_1, humidity_1);
74   //Prosedur pembacaaan data indeks panas dalam bentuk fahreheit
75   float htoc = dht.computeHeatIndex(celcius_1, humidity_1, false);
76 //Prosedur pembacaaan data indeks panas dalam bentuk celcius
77  
78   //pembacaan nilai pembacaan data kelembaban
79   Serial.print("Kelembaban: ");
80   Serial.print(humidity_1);
81   Serial.print(" %\t");
82   
83   //pembacaan nilai pembacaan data suhu
84   Serial.print("Suhu : ");
85   Serial.print(celcius_1); //format derajat celcius
86   Serial.print("°"); //simbol derajat
87   Serial.print("C / ");
88   Serial.print(fahrenheit_1); //format derajat fahrenheit
89   Serial.print("°");
90   Serial.print("F");
91  
92   lcd.setCursor (0,0);
93   lcd.print("DHT11 - LCD 16x2");
94   lcd.setCursor (0,1);
95   lcd.write(1);
96   lcd.setCursor (1,1);
97   lcd.print(celcius_1);
98   lcd.print((char)223);
99   lcd.setCursor (9,1);
100   lcd.write(2);
101   lcd.setCursor (10,1);
102   lcd.print(humidity_1);
103   lcd.print("%");
104  
105 }
106  

Silahkan subscribe atau share dulu gan, dan


Program akan terbuka tanpa RELOCK lagi!
Sharing SocMed itu gratis, thanks!

Subscribe Itu Gratis!

Share

Anda mungkin juga menyukai