Arduino – DHT11 Sıcaklık ve Nem Sensörü Kullanımı

Bu yazımızda sizlere Arduino ile DHT11 sıcaklık ve nem sensörünün nasıl kullanıldığını göstereceğiz. Özellikle ev ve okul projelerinde oldukça sık kullanılan bu sensörün Arduino ile kullanımı oldukça basit. Tek data hattı üzerinden haberleşebildiğimiz bu sensör ile ortamdaki sıcaklık ve nem değerlerini ölçmek oldukça basit. Sensörün Arduino ile nasıl kullanıldığını öğrenmeden önce sensörün incelemesini yapalım.

MALZEME LİSTESİ

  • 1 x DHT11 Sıcaklık ve Nem Sensörü
  • 1 x Arduino UNO

DHT11 Sıcaklık ve Nem Sensörü

DHT11 sıcaklık ve nem sensörü küçük projelerde karşımıza oldukça sık çıkan bir sensördür. Ölçüm sonuçlarının doğruluğu çok yüksek olmasa da kolay kullanılabilirliği ve uygun fiyatı onu bir çok ev ve okul projesi için ideal yapmaktadır. Sensör bir modül üzerinde satılabildiği gibi ayrı da satılabilmektedir. İki model arasındaki fark aşağıda verildiği gibidir.

Fotoğrafta da görüldüğü gibi aslında iki model arasında çok fark yoktur. Sadece modül halinde kullanılmayan pin kaldırılmıştır. Ayrıca haberleşme için gerekli olan pull-up direnci eklenmiştir. Burada modülün kullanılmaması durumunda sizin pull-up direncini eklemeniz gerekmektedir. Yapacak olduğumuz uygulamada modül kullanılmıştır.Pinlerin açıklamaları şu şekildedir.

  • VCC => Besleme bacağıdır. 3.5-5V arasında besleme kullanılmalıdır.
  • GND=> Sensörün toprağıdır. Sistem toprağı ile ortaklanmalıdır.
  • Signal => Veri aktarımının gerçekleştiği data bacağıdır. Pull-up direnç kullanılmalıdır.

Sensör tek data hattı üzerinden haberleşmektedir. Bu data hattını MCU ile ortak olarak kullanır. MCU sensörü tetikledikten sonra sensör sıcaklık ve nem bilgisini aynı data hattından gönderir. Öncelikle haberleşmede kullanılan protokolü inceleyelim. Devamında data paketinin içeriğine göz atalım.

Protokol

Protokolü datasheet’inde verilen aşağıdaki diagramdan daha net anlayabiliriz:

Yukarıda da görüldüğü gibi önce MCU data hattını 0’a ve 1’e çekiyor. Devamında aynı işlemi sensör yapıyor ve datanın gelmesi bekleniyor. Sensör sırasıyla 1 ve 0 göndermeye devam ediyor fakat burada gelen datanın “0” mı “1” mi olduğunu gönderilen “1” durumunun uzunluğundan anlıyoruz. Daha ayrıntılı olarak datasheet’inden bakabilirsiniz.

Data Paketi

DHT11 sıcaklık ve nem bilgisini 40 bitlik bir data paketinin içerisinde göndermektedir. Bu paketin yapısı şu şekildedir:

Burada HIGH olarak belirtilenler tam kısım, LOW olarak belirtilenler ise ondalık kısımdır. Enson gönderilen 8 bitlik data ise önceki 32 bitin toplamıdır. Gönderilen datanın doğruluğunun kontrolü için kullanılır. Nem ve sıcaklık için 16 bitlik paketler kullanılmıştır.

Arduino – DHT11 Bağlantıları

DHT11 VCC -> Arduino Board 5V

DHT11 GND -> Arduino GND

DHT11 Data -> Arduino Dijital Pin 2

Arduino UNO Kodları

Sensörü Arduino ile kullanırken anlatmış olduğumuz protokolü bir kütüphane ile gerçekleyeceğiz. Kütüphaneye >>BURADAN<< ulaşabilirsiniz. Ayrıca bu kütüphaneyi kullanabilmek için >>BURADAKİ<< kütüphaneyi de indirmeniz gerekmektedir.

Görüldüğü gibi sensörün kullanımı oldukça basit. Siz de projelerinizde rahatlıkla kullanabilirsiniz. Sorunuz olursa lütfen yorumlarda belirtin. İyi eğlenceler!!

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.