DHT11 & Arduino UNO
DHT 11 içerisinde NTC (Negative Temprature Coefficient) direnç ve nem sensörü bulunduran data kağıdında kendi deyimiyle => "yüksek performanslı" 8 bit mikrodenetleyici bulunan, (ölçüm yapması insanın kendi başına hava sıcaklığını ve nemini algılayabileceği süreden daha uzun süren:) , 250µs demişler ancak 2 saniye kadar sürebilir de demişler), bağlı olduğu sistemlerle "Tek hat-çift yön" serial protokolüyle konuşan güzide bir sensördür. Hep mi kötü bu kadar mı kötü, hayır tabii ki, ucuz mesela, bugünkü fiyatla 10 TL'ye almanız mümkün, düşünsenize bir NTC, bir nem sensörü, 8 bitlik "yüksek performanlı" bir mikrodenetleyici, bir kaç direnç ve kapasite, bunların takılı olduğu bir pcb, plastik muhafazası, pin headeri hatta onun takılı olduğu bir pcb daha, hepsi 10TL! Çinli malı eline almış kadıköy-eminönü seferinde bitti mi, bitmedi diyerek hepsini 10 liraya veriyor. En az sensörün kendisi kadar kaliteli bu yorumun ardından biraz teknik detaylarına bakalım.
- Ölçme aralığı 20-90%RH, (Relative Humdity, bağıl nem) 0-50 ℃
- Ölçüm doğruluğu Nem: ±5%RH, Sıcaklık : ±2℃
- Besleme gerilimi 3 - 5v5 (3v3 ve 5v luk µC lar ile kullanabilirsiniz.)
- İletişim, Single-Wire Two Way)
İki tipine rastladım ben biri yalın halde satılıyor diğeri küçük bir pcbye monte edilmiş ikisi arasındaki tek fark pcb olanın üzerinde VCC-Data pini arasında bir 10K pull up direncinin olması, olaki elinizde yalın olanı var, bağlantı yaparken data pinini, sistemin VCCsine 10k bir dirençler pull-up yapmalısınız. Bu pcb li olanın bir de üzerinde kondansatör olanı var, kondansatör VCC-GND arasına giriş voltajını stabil tutmak için bağlanmış.
DHT11 Arduino UNO bağlantısı
Arduino IDE Kütüphanelerin Yüklenmesi
DHT.h No such file or directory hatası alıyorsanız
Menuden, Araçlar * Kütüphaneleri Yönet, arama çubuğuna "DHT Sens" yazıyoruz
DHT Sensor library by Adafruit yazanı yüklüyoruz.. yüklemek istediğinizde bu kütüphane başka bir kütüphaneye daha ihtiyaç duyuyor onu da yüklemek ister misiniz? diye sorunca evet deyip onu da yüklüyoruz. Kaçırdıysak, arama alanına Adafruit unified yazıp en altlara doğru iniyoruz
Basitçe kodumuz şöyle olacak:
#include "DHT.h"
#define DHTPIN 2 // Digital pin connected to the DHT sensor
#define DHTTYPE DHT11 // DHT 11
DHT dht(DHTPIN, DHTTYPE);
void setup() {
Serial.begin(115200);
Serial.println(F("DHTxx test!"));
dht.begin();
}
void loop() {
delay(2000);
float h = dht.readHumidity();
float t = dht.readTemperature();
// Check if any reads failed and exit early (to try again).
if( isnan(h) || isnan(t)) {
Serial.println(F("Failed to read from DHT sensor!"));
return;
}
Serial.print(F("Humidity: "));
Serial.print(h);
Serial.print(F("% Temperature: "));
Serial.print(t);
Serial.println(F("°C "));
}
Sonuç:
Seri Ekran çıkışınızın 115200bps ye ayarlandığından emin olun.
Video Hali için :
- Herkese Kolay gelsin.