Arduino

Arduino ile DHT11 Sensörü Kullanımı: Sıcaklık ve Nem Ölçümü

Aykut AKMAN 9 ay önce Yorumlar (1) 4 Dakika Okuma
Arduino ile DHT11 Sensörü Kullanımı: Sıcaklık ve Nem Ölçümü
E-Posta : 1.4k 1

Arduino ve DHT11 sensörü ile sıcaklık ve nem ölçümü yaparak, temel sensör kullanımını öğrenebilirsiniz. DHT11, uygun maliyeti ve kolay kullanımı nedeniyle popüler bir sıcaklık ve nem sensörüdür. Bu yazıda, gerekli malzemeler, devre bağlantıları, örnek kodlar ve açıklamalarla DHT11 sensörünü kullanmayı öğreneceksiniz.

Gerekli Malzemeler

  • 1 x Arduino Uno (veya uyumlu bir model)
  • 1 x DHT11 Sensörü
  • 1 x 10kΩ direnç (opsiyonel, kararlılık için önerilir)
  • Breadboard
  • Bağlantı kabloları

Devre Bağlantıları

arduino-dht11-22-sensör-devre-şeması

DHT11 Sensörü Pinleri

  • VCC: Arduino'nun 5V pinine bağlayın.
  • GND: Arduino'nun GND pinine bağlayın.
  • DATA(SDA): Arduino'nun D2 dijital pinine bağlayın.

Opsiyonel 10kΩ Direnç

  • DATA pinini, VCC pinine bağlayarak stabilite sağlayabilirsiniz.

Arduino Kodu

DHT11 sensörüyle sıcaklık ve nem ölçümü yapacak örnek bir kod:


#include   // DHT kütüphanesini ekleyin

#define DHTPIN 2       // DHT11 sensörünün bağlı olduğu pin
#define DHTTYPE DHT11  // Kullanılan sensör tipi DHT11 veya DHT22

DHT dht(DHTPIN, DHTTYPE);  // DHT sensörünü başlatıyoruz

void setup() {
  Serial.begin(9600);  // Seri monitörü başlat
  dht.begin();         // DHT sensörünü başlat
  Serial.println("DHT11 ile Sıcaklık ve Nem Ölçümü");
}

void loop() {
  float nem = dht.readHumidity();         // Nem değerini oku
  float sicaklik = dht.readTemperature(); // Sıcaklık değerini oku
  
  // Sensörün çalışıp çalışmadığını kontrol et
  if (isnan(nem) || isnan(sicaklik)) {
    Serial.println("Veri okuma hatası!");
    return;
  }

  // Ölçümleri seri monitöre yazdır
  Serial.print("Nem: ");
  Serial.print(nem);
  Serial.print(" %\t");
  Serial.print("Sıcaklık: ");
  Serial.print(sicaklik);
  Serial.println(" °C");

  delay(2000);  // Ölçümler arasında 2 saniye bekle
}

Kod Açıklamaları

DHT Kütüphanesi

 DHT.h kütüphanesi, DHT11 sensörünü kolayca kullanmanızı sağlar. Bu kütüphaneyi Arduino IDE'deki "Library Manager"dan ekleyebilirsiniz.

Sensör Tanımlamaları

 DHTPIN ve DHTTYPE, sensörün bağlı olduğu pini ve türünü belirler.

Veri Okuma

 dht.readHumidity() ve dht.readTemperature() fonksiyonları ile nem ve sıcaklık değerleri okunur.

Hata Kontrolü

 isnan() fonksiyonu, veri okunamaması durumunda hata mesajı verir. Seri Monitör Çıktısı: Ölçüm sonuçları seri monitörde gösterilir.

Projenin çalışan örneğini görmek için tıklayınız.

Kullanım Alanları

  • Hava Durumu İstasyonları: DHT11 sensörü ile sıcaklık ve nem ölçerek hava durumunu izleyebilirsiniz.
  • Ev Otomasyonu: Oda sıcaklığına göre klima veya fan kontrolü gibi sistemlerde kullanılabilir.
  • Tarım ve Sera Yönetimi: Bitki yetiştirme ortamlarında sıcaklık ve nem izleme.

Ekstra Özellikler

  1. LCD ile Gösterim: Sıcaklık ve nem verilerini bir LCD ekrana yazdırabilirsiniz.
  2. Alarm Sistemi: Belirli bir sıcaklık veya nem seviyesinin üzerine çıkıldığında LED veya buzzer ile uyarı verebilirsiniz.

Bu yazı, DHT11 sensörünün kullanımını anlamanızı ve projelerinizde uygulamanızı sağlayacaktır. Eğer ek özellikler eklemek veya projeyi genişletmek isterseniz, IoT platformlarıyla entegre ederek verilerinizi bulut tabanlı sistemlerde saklayabilirsiniz.

Sıkça Sorulan Sorular

DHT11, sıcaklık ve nem ölçümü için kullanılan uygun maliyetli bir sensördür. %20-%90 nem aralığında ve 0-50°C sıcaklık aralığında ölçüm yapabilir.

DHT11'in VCC pini Arduino'nun 5V'una, GND pini Arduino'nun GND'sine, DATA pini ise dijital bir pine (örn. D2) bağlanır.

DHT11, ±2°C sıcaklık hassasiyetine ve ±5% nem hassasiyetine sahiptir.

DHT kütüphanesini kullanarak dht.readHumidity() ile nem, dht.readTemperature() ile sıcaklık değerleri okunabilir.

LCD ekranı Arduino'ya bağlayarak ve sensör verilerini lcd.print() ile yazdırarak sıcaklık ve nem verileri gösterilebilir.

DHT11'in doğru sonuç vermemesi bağlantı hatası, düşük voltaj veya sensörün ölçüm sınırlarının dışında çalışmasından kaynaklanabilir.

Belirli bir sıcaklık veya nem seviyesinin üzerine çıkıldığında bir LED veya buzzer aktive edilerek alarm sistemi oluşturulabilir.

Evet, DHT11 sensörü IoT platformlarına bağlanarak sıcaklık ve nem verileri bulut tabanlı sistemlere gönderilebilir.

DHT22, DHT11'e göre daha geniş bir ölçüm aralığına ve daha yüksek hassasiyete sahiptir ancak maliyeti biraz daha yüksektir.

Veri okumama sorunu yanlış bağlantı, hatalı kütüphane kullanımı veya sensörün arızalı olmasından kaynaklanabilir. Bağlantılar ve kütüphane doğru şekilde kontrol edilmelidir.

Aykut AKMAN

Aykut AKMAN

Bilişim Öğretmeni

Yorumlar (1)

  • Comment Author
    9 ay önce

    Mert Sabri ZAL

    Hocam siz dht11 ile projeyi yapmıyorsunuz ki örnekte

Yorum Yap

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlendi.

Diğer Yazılar