Herkese Merhaba, bu yazımızda DHT11 ve DHT22’in ne olduğunu, özelliklerini, ayrıntılı kullanımını anlatacağım. Kolay gelsin! 😁

DHT11 ve DHT22 Nedir ve Hangi Amaçla Kullanılır?

DHT11 veya DHT22, Ortamdaki nemi ve sıcaklığı ölçmek için kullanılan küçük bir sensördür. Çeşitli ısı birimlerini celcius, farhenayt ve kelvin değerlerinde verileri ve nemi % cinsinden ölçmek için kullanılır. DHT22 daha iyi özelliklere sahip olup, daha stabil ve daha pahalıdır.

DHT11 ve DHT22’nin Özellikleri ve Farkları

DHT11DHT22
Çalışma Voltajı3 - 5V3 - 5V
Akım mAh Max.2.5mAh2.5mAh
Nem20-80% / 5%0-100% / 2-5%
Sıcaklık0-50°C / ± 2°C-40 ile 80°C / ± 0.5°C
Ölçüm Hızı1 Hz (~1 Saniyede Yenileme)0.5 Hz (~2 Saniyede Yenileme)
Fiziki Ölçüler15.5mm x 12mm x 5.5mm15.1mm x 25mm x 7.7mm
AvantajlarUcuzDaha Doğru Tahmin

Daha ayrıntılı bilgiler için DHT11 ve DHT22 datasheed’lerini inceleyebilirsiniz.

İç yapılarına değinmeden kullanımına geçelim. (Eğer isterseniz iç yapısından da bahsedebilirim. Yorumlara! 👇🏻 🫣 😁)

DHT11 ve DHT22 Kullanımı

DHT11 ile DTH22’nin kullanımıyla ilgili serial monitörde değerleri görebileceğimiz bir kod yazacağız.

Öncelikle DHT11 veya DHT22’yi kullanıyorsanız buradan kütüphaneyi indirin. ‘Releases’ bölümünden en son sürümü indirin. Kütüphanemiz indiğine göre artık Arduino’ya kütüphanemizi yükleyelim.

Nasıl yüklemeniz gerektiğini bilmiyorsanız buradan öğrenebilirsiniz. 😊

Arduino ile Bağlantı Şeması

sema-dht11-baglanti görseli yüklenemedi. Lütfen yorumlardan bize bildirin!

Kütüphanemizi de eklediğimize göre artık kodlamaya geçebiliriz!

Arduino ile Kullanımı

#include "DHT.h"  // DHT kütüphanesi

#define DHTPIN 2  // DHT data pini

DHT dht(DHTPIN, DHT11);

void setup() {
  Serial.begin(9600); // seri haberleşme başlatılır
  dht.begin();        // DHT'yi başlatılır
}

void loop() {
  delay(2000);        // her okuma arasında 2sn beklenir

  float nem = dht.readHumidity();          // nem bilgisi alınır
  float sicaklik = dht.readTemperature();  // sıcaklık bilgisi alınır

  // Okunan değerler seri porttan gönderilir
  Serial.print("Nem ");
  Serial.print(nem);
  Serial.print(" %\t");
  Serial.print("Sıcaklık: ");
  Serial.print(sicaklik);
  Serial.println(" *C ");
}

Github profilimden de inceleyebilirsiniz. 🫠

Bu şekilde nem ve sıcaklık değerlerini anlık olarak alabiliyoruz! Sormak istediğiniz sorunuz veya sorununuz varsa yorumlardan söyleyebilirsiniz! Sağlıcakla! 😊