DHT11 Sıcaklık ve Nem Sensörü Nasıl Kullanılır?
DHT11 Sıcaklık ve Nemi Nasıl Ölçer?
DHT11’in içinde bir Termistör ile birlikte bir nem algılama bileşeni vardır.
Nem algılama bileşeni, aralarında nem tutan alt tabaka bulunan iki elektrota sahiptir. İyonlar, su buharı tarafından emilirken substrat tarafından serbest bırakılır, bu da elektrotlar arasındaki iletkenliği arttırır. İki elektrot arasındaki direnç değişimi bağıl nem ile orantılıdır. Daha yüksek bağıl nem elektrotlar arasındaki direnci azaltırken, daha düşük bağıl nem elektrotlar arasındaki direnci artırır.
DHt11 ayrıca sıcaklığı ölçmek için bir NTC/Termistör içerir. Bir termistör, direnci sıcaklıkla büyük ölçüde değişen bir termal dirençtir. “NTC” terimi, “Negatif Sıcaklık Katsayısı” anlamına gelir, bu da sıcaklığın artmasıyla direncin azaldığı anlamına gelir.
Diğer tarafta, 8-bit SOIC-14 paketlenmiş IC’ye sahip küçük bir PCB var. Bu IC, kayıtlı kalibrasyon katsayıları ile analog sinyali ölçer ve işler, analogdan dijitale dönüştürme yapar ve sıcaklık ve nem ile dijital bir sinyal olarak iletilir.
DHT11 Modülüne Genel Bakış
DHT11, 0°C’den 50°C’ye kadar ±2.0°C hassasiyetle sıcaklığı ve %20’den 80’e kadar nemi %5 doğrulukla ölçebilir.
DHT11’in örnekleme hızının 1Hz olduğunu, yani her saniyede,ondan bir kere yeni veri alabileceğinizi unutmayın.
Destek Devresi
Modül, gerekli tüm destekleyici devrelerle birlikte gelir, bu nedenle herhangi bir ekstra bileşen olmadan çalışmaya hazır olmalıdır.
DHT11 sensörleri, sensör ve Arduino arasında uygun iletişim için genellikle VCC ve Out pini arasında 10KΩ’luk harici çekme direnci gerektirir. Ancak modülün yerleşik bir çekme direnci vardır, bu nedenle eklemenize gerek yoktur. Modül ayrıca, güç kaynağındaki gürültüyü filtrelemek için bir ayırma kapasitörüne sahiptir.
Pin Diyagramı
- + (VCC): pin sensör için güç sağlar. Besleme voltajı 3,3V ile 5,5V arasında değişse de 5V besleme önerilir. 5V güç kaynağı olması durumunda sensörü 20 metreye kadar tutabilirsiniz. Ancak 3,3V besleme gerilimi ile kablo uzunluğu 1 metreyi geçmemelidir. Aksi takdirde, hat voltajı düşüşü ölçümde hatalara yol açacaktır.
- Out: pin, sensör ve Arduino arasındaki iletişim için kullanılır.
- – (GND): Arduino’nun toprağına bağlanmalıdır.
DHT11 Kütüphanesi Yükleme
DHT11 sensörleri, verileri aktarmak için kendi tek kablolu protokolüne sahiptir. Bu protokol kesin zamanlama gerektirir. Neyse ki, DHT kütüphanesi, sıcaklık ve nem verilerini okumak için basit komutlar verebilmemiz için tüm karmaşıklıkları gizlemek için yazılmıştır. GitHub deposunu ziyaret ederek önce kütüphaneyi indirin
Kurmak için Arduino IDE’yi açın, Sketch > Include Library > Add .ZIP Library’ye gidin ve ardından az önce indirdiğiniz DHTlib ZIP dosyasını seçin.
Kullanım Örneği
Kütüphaneyi kurduktan sonra, aşağıdaki gibi bağlantıyı yapalım.
Bağlantıyı yaptıktan , seri monitörde sıcaklık ve bağıl nem değerlerini yazdıracaktır.
Arduino kodumuz:
#include <dht.h> // Kütüphaneyi ekliyoruz
#define outPin 8 // Sinyal pinini belirliyoruz
dht DHT; // DHT objesi oluşturuyoruz.
void setup() {
Serial.begin(9600);
}
void loop() {
int readData = DHT.read11(outPin);
float t = DHT.temperature; // Dereceyi okuyoruz
float h = DHT.humidity; // Nemi okuyoruz
Serial.print("Temperature = ");
Serial.print(t);
Serial.print("°C | ");
Serial.print((t*9.0)/5.0+32.0); // Celcius derececeyi ferhanayta çeviriyoruz.
Serial.println("°F ");
Serial.print("Humidity = ");
Serial.print(h);
Serial.println("% ");
Serial.println("");
delay(2000); // 2 sn bekliyoruz
}
Kod yüklendikten sonra, Arduino’dan çıktıyı görmek için bir Seri Monitör penceresi açın.