DERS-10: Arduino DHT 11 Sıcaklık ve Nem Sensörü
DHT 11 Sıcaklık ve Nem Sensörü:
DHT 11 Sıcaklık ve Nem Sensörü Kullanımı:
DHT 11 Sıcaklık ve Nem Sensörü ortamın sıcaklığını ve nem billgilerini ölçer. Sıcaklık değerlerini (celcius, farhenayt, kelvin) birimlerinde bize iletir. Ayrıca ortamdaki nemi humidity % cinsinden tespit edebilir.
Bu dersimizdeki uygulamada DHT 11 sıcaklık ve nem sensörünü kullanacağız. Bir ucu VCC +5.v bir ucu GND ve genelde orta bacak ise DATA bacağı şeklindedir. Sensörün üzerinde bu değerler genellikle yazmaktadır.
Bu modül sayesinde hazırlayacağınız arduino projesi ile evinizdeki sıcaklık durumununa göre kombinizi kontrol edebileceğiniz veya ortamdaki nem oranı düştüğünde evinizdeki bir nemlendiriciyi otomatik çalıştırabileceğiniz ileri düzey projeler geliştirebilirsiniz.
Bu sensörü kullanabilmeniz için DHT11 kütüphanesine ihtiyacınız var.
DHT11 Kütüphanesi ve Yüklenmesi:
Bu kütüphane Arduino programı ile beraber gelmemektedir. Siz sonradan ilave etmelisiniz.Aşağıda adım adım bu işlemler açıklanmıştır.
- DHT 11 Kütüphanesini BURAYA tıklayarak indirebilirsiniz.
- İndirdikten sonra Rar dan çıkarın ve Arduino programının kurulu olduğu yerdeki Library kolasörünün içerisine kopyalayın.
- Son olarak yazılım içerisine yazacağınız kodlar ile DHT 11 sıcaklık ve nem sensörünü kullanabiliyoruz. Kod kısmına birazdan geleceğiz.
DEVRE ŞEMASI
DHT 11 Sıcaklık ve nem sensörünün sol ve sağ bacakları üzerilerinde yazan değerlere göre GND ve +5 V pinlere bağlanmaktadır. Cihazın zarar görmemesi için orta bacak DATA bacağı 10K ohm bir direnç ile korunmaktadır. Direnç ile Bacak arasından Arduino kartın 2 numaralı pinine bağlantı sağlanmıştır. Direncin diğer bacağından ise +5 V bağlantı çekilmiştir. Şimdi gelelim kod kısmına.
KOD YAPISI
#include <dht11.h> // dht11 kütüphanesini ekliyoruz.
#define DHT11PIN 2 // DHT11PIN olarak Dijital 2'yi belirliyoruz.
dht11 DHT11;
void setup()
{
Serial.begin(9600);
Serial.println("DHT11 Test Programi");
}
void loop()
{
Serial.println("\n");
int chk = DHT11.read(DHT11PIN);
Serial.print("Nem (%): ");
Serial.println((float)DHT11.humidity, 2);
Serial.print("Sicaklik (Celcius): ");
Serial.println((float)DHT11.temperature, 2);
Serial.print("Sicaklik (Fahrenheit): ");
Serial.println(DHT11.fahrenheit(), 2);
Serial.print("Sicaklik (Kelvin): ");
Serial.println(DHT11.kelvin(), 2);
// Çiğ Oluşma Noktası, Dew Point
Serial.print("Cig Olusma Noktasi: ");
Serial.println(DHT11.dewPoint(), 2);
delay(2000);
}
Şimdi sıra ile bu satırları açıklayalım.
#include <dht11.h> // dht11 kütüphanesini ekliyoruz.
#define DHT11PIN 2 // DHT11PIN olarak Dijital 2’yi belirliyoruz.
Serial.begin(9600); // Seri iletişimi başlatıyoruz
Serial.println(“\n”); // Bir satır boşluk bırakıyoruz serial monitörde.
int chk = DHT11.read(DHT11PIN); // Sensörden değer okunuyoru ve chk değişkenine atılıyor.
Aşağı kısında ise sensörden gelen değerler seri port ekranına yazdırılmaktdır.