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:
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
Supaya lebih jelas, rangkaiannya dapat dilihat pada gambar di bawah ini:
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:
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:
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
Supaya lebih jelas, rangkaiannya dapat dilihat pada gambar di bawah ini:
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