DHT11 Sıcaklık ve Nem Sensörünün Arduino ile Kullanımı
Daha önce DS18B20 dijital sıcaklık sensörü ile ilgili bir yazı yazmıştım. Bu yazımda da yine tek dijital pin aracılığıyla sıcaklık ve nem verileri sağlayan, ucuz, nispeten hassiyeti az olan DHT11 dijital sıcaklık ve nem sensöründen bahsetmeye çalışacağım.

Ölçüm aralığı ve hassasiyetinden bahsederek başlayalım. -? aralığındaki nemi ±%5 hassasiyetle, 0-50°C aralığındaki sıcaklığı ise ±2°C hassasiyetle ölçebilen sensör ek olarak sadece 1 adet 10k dirence ihtiyaç duyuyor Arduino ile kullanabilmek için.
Yandaki resimdeki gibi bağlantıları yaptıktan sonra aşağıdaki bağlantılardan indirebileceğiniz dht11 kütüphanesini yüklüyoruz. (dht11 klasörünü Arduino>libraries klasörüne kopyalıyoruz.)
Aşağıda paylaşacağım örnek program kütüphaneyle birlikte de geliyor. File>Examples menüsünden ulaşabilirsiniz.
// Arduinoturkiye.com DHT11 Test Programı // Yazar: Joseph Dattilo (Virtuabotix LLC) - Version 0.4.5 (11/11/11) // Düzenleme: İsmail BUÇGÜN #include <dht11.h> // dht11 kütüphanesini ekliyoruz. #define DHT11PIN 2 // DHT11PIN olarak Dijital 2"yi belirliyoruz. dht11 DHT11; void setup() { Serial.begin(9600); // Seri iletişimi başlatıyoruz. Serial.println("Arduinoturkiye.com DHT11 Test Programi"); } void loop() { // Bir satır boşluk bırakıyoruz serial monitörde. Serial.println(); // Sensörün okunup okunmadığını konrol ediyoruz. // chk 0 ise sorunsuz okunuyor demektir. Sorun yaşarsanız // chk değerini serial monitörde yazdırıp kontrol edebilirsiniz. int chk = DHT11.read(DHT11PIN); // Sensörden gelen verileri serial monitörde yazdırıyoruz. Serial.print("Nem (%): "); Serial.println((float)DHT11.humidity, 2); Serial.print("Sicaklik (Celcius): "); Serial.println((float)DHT11.temperature, 2); Serial.print("Sicaklik (Fahrenheit): "); Serial.println(DHT11.fahrenheit(), 2); Serial.print("Sicaklik (Kelvin): "); Serial.println(DHT11.kelvin(), 2); // Çiğ Oluşma Noktası, Dew Point Serial.print("Cig Olusma Noktasi: "); Serial.println(DHT11.dewPoint(), 2); // 2 saniye bekliyoruz. 2 saniyede bir veriler ekrana yazdırılacak. delay(2000); }
Çok hassas ölçümler gerektirmeyen, biraz daha genel ölçümlere ihtiyaç duyduğunuz projelerinizde kullanabileceğiniz, kullanımı kolay, ucuz bir çözüm DHT11. LCD ile birlikte kullanarak kendi hava durumu istasyonunuzu oluşturabilirsiniz. Yücel Çetin”in Arduino RF Haberleşme yazısında anlattığı şekilde,ölçtüğünüz değerleri, RF ile farklı bir noktaya iletebilirsiniz.
İyi çalışmalar.
Kaynaklar:
Gerekli Olabilecek Bağlantılar: