Genel Bakış
Bu yazıda, DHT11 ve DHT22 Sıcaklık ve Nem sensörlerinden bahsedeceğim. Sensirion firmasının ürettiği SHT serisi sıcaklık ve nem sensörlerine göre bir hayli ucuz olan bu sensörler, basit olmaları açısından hobi elektroniği için son derece uygun. Her iki sensörün içinde de bir adet kapasitif nem sensörü var. Sıcaklık ölçümü ise DHT11'de termistör, DHT22'de DS18B20 ile yapılmakta. Yaklaşık 2 saniyede bir veri alınabilen bu sensörler, tek pin üzerinden mikrokontrolörle iletişim kuruyor ancak kullanılan protokol Dallas'ın OneWire protokolü değil.
Fotoğrafta görülen sensörler DHT11 (soldaki) DHT22 (sağdaki) arasında bir takım farklılıklar var. Bu farklılıklar hem yapısal hem de işletimsel.
- Çok ucuz ($5.00)
- 3 ila 5 V besleme gerilimi
- Maksimum 2.5mA akım tüketimi
- %20 - %80 arası nem ölçümünde %5 doğruluk (Kapasitif sensör)
- 0 - 50°C arası sıcaklık ölçümünde %2 doğruluk (Termistör)
- Maksimum 1 Hz örnekleme hızı (Saniyede bir okuma yapılabilir)
- Ölçüleri 15.5mm x 12mm x 5.5mm
- 0.01" aralıklı 4 pin. (Breadboarda tam olarak takılabilir)
- Ucuz (~$10.00)
- 3 ila 5 V besleme gerilimi
- Maksimum 2.5mA akım tüketimi
- %0 - %100 arası nem ölçümünde %2 - %5 doğruluk (Kapasitif sensör)
- -40 - +125°C arası sıcaklık ölçümünde ±0.5°C doğruluk (DS18B20)
- Maksimum 0.5 Hz örnekleme hızı (2 saniyede bir okuma yapılabilir)
- Ölçüleri 15.1mm x 25mm x 7.7mm
- 0.01" aralıklı 4 pin. (Breadboarda tam olarak takılabilir)
Gördüğümüz gibi DHT22, biraz daha doğru ve daha geniş aralıkta ölçüm yapan bir sensör. Aynı zamanda yapısal olarak da biraz daha büyük. Tek kötü yanı okuma aralıklarının yüksek olması ki bu fiyatta bir sensör için kabul edilebilir.
Bağlantı Şekli
Sensörün bacakları 0.1" (100 th) aralıklı olduğu için herhangi bir breadboarda rahatlıkla takılacaktır.
Pin yapısı:
- VCC (3 - 5V)
- Data in/out
- NC (Boş bırakılacak)
- GND
Basitçe, 3 nolu pin boş bırakılacak. Aynı zamanda VCC ve Data pinleri arasına 10K'lık bir direnç yerleştirmemiz gerekiyor. Bu direnç kesinlikle yerleştirilmeli yoksa sensörden veri alamazsınız.
Aşağıdaki çizimde sensörün Arduino'ya nasıl bağlanacağı gösterilmiş. Data pini olarak Arduino'nun 2 nolu pini kullanılmış, bunu daha sonra gerekirse değiştirebilirsiniz.
Sensörün çalıştırılması ve Arduino kütüphanesi
Sensörü çalıştırmak için Arduino kullanacağız. Siz başka mikrokontrolörlerle çalışıyorsanız onlarla da programlama yapabilirsiniz.
İşe kütüphane dosyalarını indirerek başlayın. İNDİR
İnecek olan ZIP dosyasının içindekileri herhangi bir yere çıkartarak klasörün ismini "DHT" olarak değiştirin. Bu klasörün içinde dht.cpp, dht.h gibi dosyalar bulunmalı. Daha sonra DHT klasörünü "C:\Program Files (x86)\Arduino\libraries\" klasörüne taşıyın. Arduino derleyicisi açıksa kapatıp tekrar açın.
Şimdi File->Examples->DHT->DHTtester örnek programını açın.
Eğer siz sensör olarak DHT11 kullanıyorsanız aşağıdaki gibi DHT22 satırının başına // getirerek deaktif hale getirin
- //#define DHTTYPE DHT22 // DHT 22 (AM2302)
ve DHT11 satırının başındaki // kısmını silerek satırı aktive edin.
- #define DHTTYPE DHT11 // DHT 11
Sıra geldi kodu Arduino board'a yüklemeye.
Kodu yükledikten sonra "Serial Monitor"ü açarak sıcaklık ve nem verilerini görebilirsiniz.
Bu yazı adafruit.com adresinden alınarak Türkçe'ye çevrilmiştir. Çeviri: Göktürk SEYHAN
Bu yazı adafruit.com adresinden alınarak Türkçe'ye çevrilmiştir. Çeviri: Göktürk SEYHAN
İndirmeler
- DHT sensörler için Arduino kütüphanesi ve örnek kod (github)
- DHT11 datasheet (Çince. Bu yüzden DHT22 datasheet'e de bakın.)
- DHT22 datasheet




