Arduino – Rangkaian Sensor Kelembaban dan Suhu Menggunakan DHT22

Kita dapat menggunakan sensor kelembaban dan sensor suhu sekaligus menggunakan DHT-22 beserta Arduino UNO untuk membaca data dan menampilkannya pada serial monitor atau bisa juga pada LCD. Pada tutorial ini hanya akan menampilakan data pada serial monitor saja untuk lebih praktisnya.

Sensor DHT-22 dipilih daripada sensor DHT-11 karena memiliki range pengukuran yang luas yaitu 0 sampai 100% untuk kelembaban dan -40 derajat celcius sampai 125 derajat celcius untuk suhu. Sensor ini juga memiliki output digital (single-bus) dengan akurasi yang tinggi.

Sebagai reaksi dari sensor ini, saya menggunakan fan DC yang akan berputar ketika level kelembaban mencapai 60% atau ketika suhu lebih dari 40 derajat celcius, tetapi kita dapat mengganti nilainya pada sketchnya.

Skema:



Pada sketch dapat dilihat library DHT yang disertakan pada code di bawah ini, cukup copy lalu paste di arduino IDEnya.

Download DHT Library

Sketch:


  1. #include “DHT.h”
  2. #define DHTPIN 2 // pin yang dihubungkan dengan sensor
  3. #define DHTTYPE DHT22 // DHT 22 (AM2302)
  4. #define fan 4
  5. int maxHum = 60;
  6. int maxTemp = 40;
  7. DHT dht(DHTPIN, DHTTYPE);
  8. void setup() {
  9. pinMode(fan, OUTPUT);
  10. Serial.begin(9600);
  11. dht.begin();
  12. }
  13. void loop() {
  14. // Jeda waktu pengukuran
  15. delay(2000);
  16. // Membaca suhu atau kelembaban membutuhkan waktu sekitar 250 milidetik!
  17. // Pembacaan sensor mungkin juga sampai 2 detik lamanya (sensor sangat lambat)
  18. float h = dht.readHumidity();
  19. // Membaca suhu sebagai satuan derajat Celcius
  20. float t = dht.readTemperature();
  21. // Menguji pembacaan sensor (bila gagal maka diulangi lagi)
  22. if (isnan(h) || isnan(t)) {
  23. Serial.println(“Gagal membaca dari sensor DHT”);
  24. return;
  25. }
  26. if(h > maxHum || t > maxTemp) {
  27. digitalWrite(fan, HIGH);
  28. } else {
  29. digitalWrite(fan, LOW);
  30. }
  31. Serial.print(“Kelembaban: “);
  32. Serial.print(h);
  33. Serial.print(” %\t”);
  34. Serial.print(“Suhu: “);
  35. Serial.print(t);
  36. Serial.println(” *C “);
  37. }

Kita mungkin ingin mengganti nilai dari maxHum dan maxTemp untuk memulai kapan fan harus memutar. Kita juga dapat menggunakan relay sebagai ganti dari fan jika kita ingin menambahkan peralatan dengan tegangan yang lebih tinggi. Dan perlu diingat untuk menyambungkan resistor 10K antara Vcc dan Data pin pada sensor DHT-22.

 

sumber : http://elektronikanewbie.blogspot.com/2016/01/arduino-rangkaian-sensor-kelembaban-dan.html

Iklan

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: