Sensor Suhu dan Kelembaban DHT11 dengan Arduino
Untuk membaca atau mengetahui nilai temperature (suhu) biasanya kita memakai thermometer. Jika pada aplikasi Arduino biasanya kita gunakan sensor suhu LM35 seperti pada artikel “6 Channel Sensor Suhu dengan Arduino” . Sedangkan untuk membaca besaran kelembaban udara, kita memakai alat Higrometer, dan pada aplikasi Arduino biasanya memakai sensor DHT11, selain murah harganya juga mudah diperoleh di toko – toko komponen elektronik. Ada sih tipe yang lain seperti SHT11 atau DHT22. Kali ini kita pelajari dulu sensor suhu dan kelembaban DHT11 dengan Arduino. Ya, selain dapat membaca kelembaban, DHT11 juga mampu membaca temperatur linkungan.
Spesifikasi sensor suhu kelembaban DHT11 :
- Tegangan input : 3,5 – 5 VDC
- Sistem komunikasi : Serial (single – Wire Two way)
- Range suhu : 00C – 500C
- Range kelembaban : 20% – 90% RH
- Akurasi : ±20C (temperature) ±5% RH (humidity)
Datasheet selengkapnya bisa dilihat disini. Sensor suhu dan kelembaban DHT11 terdiri dari 4 kaki/pin, 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
- DOUT : Data output serial
Baik, sekarang langsung kita buat monitoring suhu kelembabang DHT11 dengan Arduino. Sebagai tampilan kita pakai saja Serial Monitor sehingga tidak perlu LCD. Siapkan kebutuhan komponennya.
- Arduino UNO
- Modul Sensor DHT11
- Kabel konektor
Buat rangkaian sensor suhu kelembaban DHT11 dengan Arduino UNO seperti pada gambar rangkaian berikut ini;
Koneksi DHT11 dengan Arduino UNO :
- Vcc (+) -> 5V
- Gnd (-) -> GND
- Data (out) -> pin 2
Jika sudah terhubung , sekarang kita buat programnya dengan Arduino IDE. Bagi teman – teman yang baru belajar awal silakan baca dulu artikel “Mengenal Arduino” dan “Pemrograman Dasar Arduino”. Sebelumnya siapkan terlebih dahulu library DHT.h, jika belum punya silakan download DHT.h kemudian masukkan ke library Arduino IDE anda.
/********************************* * Monitoring Suhu Kelembaban * Sensor : DHT11 * Board : Arduino UNO * Output : Serial (9600) * DOUT -> pin 2 *********************************/ #include <DHT.h> //library DHT #define DHTPIN 2 //pin DATA konek ke pin 2 Arduino #define DHTTYPE DHT11 //tipe sensor DHT11 DHT dht(DHTPIN, DHTTYPE); //set sensor + koneksi pin float humi, temp;//deklarasi variabel void setup() { Serial.begin(9600); //baud 9600 delay(10); } void loop() { humi = dht.readHumidity();//baca kelembaban temp = dht.readTemperature();//baca suhu if (isnan(humi) || isnan(temp)) { //jika tidak ada hasil Serial.println("DHT11 tidak terbaca... !"); return; } else{//jika ada hasilnya Serial.print("Suhu="); //kirim serial "Suhu" Serial.print(temp); //kirim serial nilai suhu Serial.println("C"); //kirim serial "C" Celcius Serial.print("Humi="); //kirim serial "Humi" Serial.print(humi); //kirim serial nilai kelembaban Serial.println("%RH"); //kirim serial "%RH" } delay(1000); //tunda 1 detik untuk pembacaan berikutnya }
Ketik programnya kemudian simpan (save) dan upload. Buka Serial Monitor dari menu Tools -> Serial Monitor dan seting baudrate 9600. Hasilnya akan tampil seperti gambar berikut :
Untuk keterangan program Arduino-nya sudah dikasih keterangan di tiap barisnya ya, jadi saya pikir tidak perlu dijelaskan ulang. Semoga bermanfaat.
Pingback: Sensor Suhu Kelembaban DHT22 dan Arduino
hasil pada serial monitor, DHT11 tidak terbaca..
mohon saran apa penyebabnya serta cara mengatasinya.
terima kasih
Cek koneksi hardware, kaki2 di DHT11 apakah sudah benar koneksinya.
Cek software, definisi pin untuk DHT11 juga harus sama dengan skematiknya.
Trims
Suhu ruangan menggunakan 7segment dan dht11 bagaimana cara merangkainya dengan arduino
Lain kali coba kami siapkan materinya
pada pemroragam tidak dapat di compailing ke boar arduino, itu apa ya masalahnya
Maaf baru respon, apakah sudah disesuaikan jenis/type board nya di Arduino IDE nya ? Coba cek dari menu Tools — Board trus pilih Arduino UNO.
Semoga lancar mas.
Trims