30 Kasım 2020

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

ile Site Yöneticisi

Ardunio ile proje geliştirirken ilk başlarda en çok denenen, çünkü güncel hayatta da direk karşılığı olan bir komponenti ele alacağı bu sefer. DHT11 Sıcaklık ve Nem Ölçme Sensörü. Bu sensörün ana işlevi, üzerindeki pinden gelen değer ile bulunduğu ortamın sıcaklığını ve nemini ölçesidir.

Öncelikle şunu belirtelim. Bu kategorideki tüm makaleler tamamen komponentlerin genel kullanımlarını göstermek içindir. Zamanla her bir komponent ve hatta birden fazla komponent ile kompleks devreler yapmayı da görüyor olacağız ve bu konuda paylaşımlarımız da olacak.

Kullanım devresi için gerekli komponentlerimize bir göz atalım isterseniz.

  • Ardunio Uno veya en az 1 dijital giriş pinine sahip ardunio kartı
  • 1 adet DHT11 sıcaklık ölçer komponent
  • 3 adet dişi > erkek jumper kablo

Şimdi şemamıza bakalım.

İşte deneme için bağlantımız bu kadar basit. Kısaca yazacak olur isek;

DHT11’i karşımıza aldığımız zaman bize göre;

  • En sol bacak => 5V
  • 2. bacak => 2. giriş pinine
  • En son (sağ) bacak ise => GND

Bağlantımız yaptıktan sonra kütüphanemizi ekleyecek ve pinimizi tanımlayacağız. Ama öncelikle eğer elinizde doğru dht11 kütüphanesi yok ise buraya tıklayarak indirip kullanabilirsiniz.

Şimdi gelelim kütüphanemizi ve değişkenimizi tanımlamaya.

#include <dht11.h>
int dht11_digital_pin = 2;

dht11 DHT11;

Gördüğünüz gibi “dht11_digital_pin = 2” diyerek ikinci girişin dht pinine ait giriş olduğunu belirtmiş olduk. Şimdi setup kısmında Serial Monitörümüzü açalım ve devam edelim.

void setup(void) {
  Serial.begin(9600);
}

Şimdi de okuma kodumuzu yazalım.

loop()
{
  int chk = DHT11.read(DHT11PIN);
  Serial.println(chk);

  float temperature = DHT11.temperature;
  float humidity = DHT11.humidity;

  Serial.println("Sıcaklık:");
  Serial.println(temperature);
  Serial.println("Nem:");
  Serial.println(humidity);

  delay(10000);
}

İşte burada da gördüğünüz gibi tam olarak celcius (C) cinsinden sıcaklık değerini ve yüzde (%) olarak nem değerini artık okuyabiliyor ve 10 saniye aralıkla yenilenmesini sağlayarak işlemimizi tamamlıyoruz.

İşte kodumuzun tamamı aşağıdaki gibi.

Arduino DHT11 İle Sıcaklık ve Nem Ölçme Devresi

#include <dht11.h>
int dht11_digital_pin = 2;

dht11 DHT11;

void setup(void) {
  Serial.begin(9600);
}

loop()
{
  int chk = DHT11.read(DHT11PIN);
  Serial.println(chk);

  float temperature = DHT11.temperature;
  float humidity = DHT11.humidity;

  Serial.println("Sıcaklık:");
  Serial.println(temperature);
  Serial.println("Nem:");
  Serial.println(humidity);

  delay(10000);
}