DHT11 Nedir? Nasıl Çalışır? Arduino ile Sıcaklık ve Nem Sensörü Kullanımı
DHT11, ortamdaki sıcaklık ve nem oranını dijital olarak ölçebilen, düşük maliyetli ve popüler bir kompozit sensördür. Akıllı ev sistemleri, otomatik sera otomasyonları, hava istasyonu simülasyonları ve kuluçka makinesi projelerinde ortam parametrelerini izlemek için çok sık tercih edilir.
Arduino projelerinde fiziksel çevrenin iklim koşullarını takip etmek, sıcaklığa bağlı fan çalıştırma veya neme bağlı sulama sistemleri kurmanın ilk adımıdır. DHT11, kalibre edilmiş dijital sinyal çıkışı sayesinde analog pinleri meşgul etmeden hassas okumalar yapmanıza olanak tanır. Bu yazıda DHT11’in ne olduğunu, çalışma mantığını, bacak yapısını ve Arduino ile nasıl kullanılabileceğini adım adım inceleyeceğiz.
DHT11 Nedir ve Nasıl Çalışır?
DHT11, içerisinde bağıntılı bir nem ölçer komponent (rezistif materyal) ve bir adet NTC (sıcaklığa duyarlı direnç) barındırır. Nem ve sıcaklık değişimleri bu komponentlerin direnç değerlerini etkiler. Sensörün içindeki gömülü 8-bit mikrodenetleyici bu direnç değişimlerini okur, dijital veriye dönüştürür ve tek bir hat üzerinden (Single-Wire) mikrodenetleyiciye iletir.
Sıcaklığı 0°C ile 50°C arasında (±2°C hata payı ile), nemi ise %20 ile %90 RH arasında (±%5 hata payı ile) ölçebilir. Ölçüm periyodu 1 saniyedir, yani sensörden her saniye yeni bir veri akışı alınabilir.
Proje Uygulama Videosu
Bu sensörün Arduino ile canlı testini, bağlantı aşamalarını ve seri monitör çıktılarını aşağıdaki uygulama videomuzdan detaylıca izleyebilirsiniz:
DHT11 Bacakları ve Yapısı
Piyasada DHT11 sensörü doğrudan 4 pinli komponent olarak veya 3 pinli hazır bir modül kartı üzerine yerleştirilmiş olarak bulunur. Eğer 3 pinli hazır modül kullanıyorsanız, devre şemasına ekstra direnç eklemenize gerek kalmaz.
| Sensör Pini (4 Pinli) | Modül Pini (3 Pinli) | Görevi | Arduino Bağlantısı |
|---|---|---|---|
| 1. Pin | VCC (+) | Besleme Girişi (3.3V - 5V) | Arduino 5V veya 3.3V |
| 2. Pin | OUT / DATA (S) | Dijital Veri Çıkışı | Herhangi bir Dijital Pin (Örn: D2) |
| 3. Pin | - | Boş Bacak (Kullanılmaz) | Bağlantı Yapılmaz |
| 4. Pin | GND (-) | Topraklama Girişi | Arduino GND |
Arduino ile DHT11 Kullanımı İçin Gerekli Malzemeler
| Gerekli Malzeme | Ürün Linki |
|---|---|
| Arduino Uno | Arduino Uno R3 Klon + USB Kablo |
| DHT11 Sensör Modülü | DHT11 Sıcaklık ve Nem Sensörü |
| Breadboard | Breadboard |
| Jumper Kablo | 40 Adet Erkek Dişi Jumper Kablo 20cm |
Arduino DHT11 Kod Örneği
Bu kodu çalıştırmadan önce Arduino IDE kütüphane yöneticisinden DHT sensor library (Adafruit) kütüphanesini yüklemeniz gerekmektedir. Kod, ortamdan aldığı sıcaklık ve nem verisini her iki saniyede bir güncelleyerek Seri Monitör ekranına basar.
#include "DHT.h"
#define DHTPIN 2 // DHT11 Data pininin bağlı olduğu dijital pin
#define DHTTYPE DHT11 // Kullandığımız sensör tipi tanımlandı
DHT dht(DHTPIN, DHTTYPE); // DHT nesnesi başlatıldı
void setup() {
Serial.begin(9600);
Serial.println(F("DHT11 Testi Başlıyor!"));
dht.begin(); // Sensör okuması tetiklendi
}
void loop() {
delay(2000); // Sensör periyodu için 2 saniye bekleme
// Nem oranını oku
float humidity = dht.readHumidity();
// Sıcaklığı Celsius cinsinden oku
float temperature = dht.readTemperature();
// Okumaların doğruluğunu kontrol et
if (isnan(humidity) || isnan(temperature)) {
Serial.println(F("DHT sensöründen veri okunamadı!"));
return;
}
// Sonuçları Seri Monitör'e yazdır
Serial.print(F("Nem: %"));
Serial.print(humidity);
Serial.print(F(" | Sıcaklık: "));
Serial.print(temperature);
Serial.println(F("°C"));
}
Arduino Sıcaklık ve Nem Projeleri Kaynak Kodları
DHT11 sensörünün LCD ekran entegrasyonlu uygulamaları, kütüphanesiz ham kod taslakları, ESP32 ve STM32 mimarileri için geliştirilmiş tüm ileri seviye açık kaynak kodlu şemalarına projemizin GitHub deposundan erişebilirsiniz.
DHT11 Kullanırken Sık Yapılan Hatalar ve Çözümleri
- "Failed to read from DHT sensor" Hatası: Bağlantı pinlerinin gevşek olmasından veya koda yazdığınız pin numarasıyla fiziksel pini karıştırmaktan kaynaklanır. Kabloları kontrol edin.
- Direnç Unutulması (Çıplak Sensörlerde): Eğer modülsüz, 4 pinli mavi çıplak sensör kullanıyorsanız VCC ile DATA bacağı arasına 10K Ohm'luk bir pull-up direnci bağlamalısınız. Aksi takdirde sinyal kararsız kalır.
- Çok Hızlı Veri Okumaya Çalışmak: Koddaki gecikme (delay) süresini 1 saniyenin altına düşürürseniz sensör eski veriyi yetiştiremez ve sürekli hata mesajı döndürür.
Robomer’de Bulabileceğiniz İklim Sensör Çeşitleri
DHT11 Sıcaklık ve Nem Sensör Modülü
Üzerinde dahili pull-up direnci barındıran, 3 pinli yapısıyla doğrudan jumper kablo ile tak-çalıştır mimariye sahip DHT11 modeli.
Ürünü İncele
DHT22 Hassas Sıcaklık ve Nem Sensörü
Eksi dereceleri (-40°C'ye kadar) ölçebilen ve daha hassas tolerans aralığı ile çalışan endüstriyel kalitede iklim sensörü.
Ürünü İncele
DHT21 (AM2301) Kablolu Sıcaklık ve Nem Sensörü
Kendinden kablolu yapısı ve korumalı dış kasası sayesinde açık alanlarda, nemli kutu veya panoların içinde uzun ömürlü kararlı ölçüm sağlayan profesyonel model.
Ürünü İnceleSonuç
DHT11 Sensörü, ortam izleme ve otomasyon algoritmalarına giriş yapmak için mükemmel bir araçtır. Gerek ekonomik olması gerekse zengin kütüphane desteği sayesinde ev otomasyon projelerinizin vazgeçilmez bir parçası olmaya adaydır. Projelerinizde hava durumunu kontrol altına alacak tüm sensör ve modül çeşitlerine Robomer avantajlarıyla hemen sahip olabilirsiniz.
Otomasyon ve Akıllı Ev Projelerinizi Kurun
Geliştirme kartları, LCD / OLED ekranlar, röle modülleri ve projenizin ihtiyacı olan tüm kablolama elemanları Robomer güvencesiyle kapınızda.
Robomer Sensör Kategorisini İncele