dht11-dht22

DHT11 NEDİR?

Dht11 üzerinde kendi işlemcisi(8 bitlik) bulunan dijital bir sıcaklık sensörüdür. Bu sensörün artısı, sıcaklığın yanında bize ortam nemini de vermesidir. Yani nem ve sıcaklık ilişkisi ile alakalı, hissedilen sıcaklığın lazım olduğu projelerde bizim için ideal bir sıcaklık sensörüdür.




Dijital olmasının diğer bir artısı bize hata kontrol şansı sunmasıdır. Yani;

#include <dht11.h> //kütüphanemizi ekledik.
const int DHTPIN = 2;
dht11 dh;   // dht11 nesnemizi dh ismiyle oluşturduk
int check=1;  // Kullanacağımız değişkenler.
bool d=1;   // bool fonksiyonunda tanımladığımız değişken 1 veya 0 değeri alabilir
void setup () {  
  Serial.begin(9600); // Seri haberleşmeyi başlattık.
  pinMode(3,OUTPUT); // Ledimizi bağladığımız pinimizi çıkış olarak ayarladık.
}
 
void loop () {
/*
* Dht11 sensör çalışması kontrolü.
* Döndüğü değerler:
// DHTLIB_OK => Sensör çalışmasında sorun yok => (0)
// DHTLIB_ERROR_CHECKSUM => Sensörün sıcaklık ve nem değerlerinin doğruluğu kontrolü => (-1)
// DHTLIB_ERROR_TIMEOUT => Sensör beklenmedik bir sonsuz döngüye girdi kontrolü => (-2)
*/
  check=dh.read(DHTPIN);
  Serial.print("Read sensor:");
  switch (check)
  {
    case 0: Serial.println("OK"); break;
    case -1: Serial.println("Checksum error"); break;
    case -2: Serial.println("Time out error"); break;
    default: Serial.println("Unknown error"); break;
  }
}

Bize bu komutlar yardımı ile hata kontrol şansı sunar. dht11.read(); kodu ile sensöre sinyal göndeririz. Sensörü datasheetinde belirtildiği şekilde bağladıysak bize “0” değerini gönderir.

Dönen değer  “1” ise veriyolu hatası vardır. Yani sensör ile arduinomuzun iletişiminde bir problem söz konusudur. Bağlantımızı kontrol etmemiz gerekir.

Dönen değer “2” ise sensör istenilen sürede tepki vermedi veya gelen veriyi arduino yakalayamdı demektir. Programımızı gözden geçirmemiz gerekir.

Diğer bir artısı ise ortam nemini bize sunabilmesi. Üstelik analog sensörlerde olduğu gibi gelen veriyi matematiksel işlemlerden geçirmemize gerek yok. Sensörümüz bize direk ortam nemini veya sıcaklığını verir. Bu da bize önemli kolaylık sağlar.

Buraya kadar artılarından bahsettik. Eksileri diyebileceğimiz bir mevzu ise hassasiyeti. Dijital bir sensörden, analog bir sensör kadar hassas bir ölçüm bekleyemeyiz. Onun gibi hızlı tepki vermesini ve onun gibi az enerji tüketmesini beklemek yanlış olur. Daha önce incelediğimiz lm35, 0.3 derece hassasiyetle ölçüm yapabilirken, Dht11’imiz 2 derece hassasiyetle ölçüm yapıyor. Buda bizim için üzücü bir kayıp.




CEVAP VER

Lütfen yorumunuzu giriniz!
Lütfen isminizi buraya giriniz