Sensor Suhu Kelembaban DHT22 dan Arduino
Pada postingan sebelumnya kita membuat aplikasi Arduino monitoring suhu dan kelembaban dengan DHT11, nah kali ini kita coba tetangganya DHT11 yaitu DHT22. Apa sih bedanya DHT11 dengan DHT22 ? beberapa diantaranya range pengukuran suhu, jika DHT11 : 00C – 500C maka DHT22 : -400C – 800C , jadi range pengukurannya lebih lebar. Demikian juga untuk range pengukuran kelembabannya mampu mengukur 0 – 100% RH. Harga tentunya juga berbeda, lebih mahal DHT22 dibanding DHT11, yak arena secara fitur lebih bagus DHT22.
Spesifikasi sensor suhu kelembaban DHT22 :
- Tegangan input : 3,3 – 6 VDC
- Sistem komunikasi : Serial (single – Wire Two way)
- Range suhu : -400C – 800C
- Range kelembaban : 0% – 100% RH
- Akurasi : ±20C (temperature) ±5% RH (humidity)
Untuk urusan kaki/pin, sensor suhu dan kelembaban DHT22 terdiri dari 4 kaki/pin, sama dengan DHT11, tetapi yang dipakai hanya 3 pin saja. Biasanya kalau kita membeli dalam bentuk modul jumlah pin-nya menjadi 3 :
- VCC(+) : tegangan input (5V)
- GND(-) : Ground
- Data : Data output serial
Teori cukup dulu ya, sekarang langsung kita buat monitoring suhu kelembabang DHT22 dengan Arduino UNO. Sebagai tampilan kita pakai saja modul LCD 16×2. Siapkan kebutuhan komponennya.
- Arduino UNO
- Modul Sensor DHT22
- Modul LCD 16×2
- Kabel konektor
Kita buat rangkaian sensor suhu kelembaban DHT22 dengan Arduino UNO seperti pada gambar rangkaian berikut ini.
Koneksi DHT22 dengan Arduino UNO.
Koneksi Arduino UNO dengan LCD 16×2 :
Jika hardware sudah jadi , sekarang kita buat programnya dengan Arduino IDE. Bagi teman – teman yang baru belajar awal silakan baca dulu artikel “Mengenal Arduino” dan “Belajar Arduino untuk Pemula”. Ohya, jangan lupa library yang dibutuhkan yaitu DHT.h (library sensor DHT), jika belum punya silakan download dulu DHT.h kemudian masukkan ke folder libraries dimana anda menyimpan file Arduino IDE atau lewat Sketch -> Include Library -> Add .ZIP Library …
/************************************** * Monitoring Suhu Kelembaban DHT22 * Input : DHT22 (pin 8) * Out : LCD 16x2 * koneksi DHT22 -- Arduino UNO * Vcc -- 5V * Gnd -- GND * Data -- pin 8 * koneksi LCD -- Arduino UNO * RS -- 2 * E -- 3 * D4 -- 4 * D5 -- 5 * D6 -- 6 * D7 -- 7 * www.ardutech.com **************************************/ #include <LiquidCrystal.h> //library LCD //koneksi LCD, lihat rangkaian LiquidCrystal lcd(2,3,4,5,6,7); #include <DHT.h> //library DHT22 #define DHTPIN 8 //pin data DHT22 konek ke pin 8 Arduino #define DHTTYPE DHT22 //jenis sensor DHT22 DHT dht(DHTPIN, DHTTYPE); //setup pin dan jenis DHTT ke library //deklarasi variabel untuk menampung pembacaan suhu & kelembaban float humi, temp; void setup() { lcd.begin(16, 2); //type LCD 16x2 lcd.print("Monitoring DHT22"); //tampilan pertama delay(2000); //tunda 2 detik lcd.clear(); //hapus tampilan lcd.print("Temp=");//tampilkan di baris 1 lcd.setCursor(0,1);//pindah ke baris 2 lcd.print("Humi=");//tampilkan di baris 2 } //============================ void loop() { humi = dht.readHumidity(); //baca kelembaban temp = dht.readTemperature();//baca suhu if (isnan(humi) || isnan(temp)) { //jika tidak berhasil return;//kembali } else{ //jika berhasil membaca sensor lcd.setCursor(5,0); //set kursor di baris 1, kolom 6 lcd.print(temp);//tampilkan nilai suhu lcd.print(" C ");//Celcius lcd.setCursor(5,1);//set kursor di baris 2, kolom 6 lcd.print(humi);//tampilkan nilai kelembaban lcd.print(" % "); //% RH } delay(1000); //tunda 1 detik }
Ketik programnya kemudian simpan (save) dan upload. Hasilnya akan tampil seperti gambar berikut :
Pertama kali akan tampil di LCD :
Setelah sekitar 2 detik kemudian akan menampilkan hasil pembacaan sensor suhu dan kelembaban DHT22 oleh Arduino UNO.
Silakan berikan perubahan suhu dan kelembaban ke sensor, misalnya dengan mendekatkan sumber panas seperti ujung solder, kemudian amati perubahannya. Untuk programnya tidak perlu dijelaskan ulang ya karena sudah kami beri keterangan pada masing – masing baris perintah. Semoga bermanfaat.