Arduino İle DHT11 Kullanımı-Uygulaması
Bu yazımda sizlere DHT11 sıcaklık ve nem sensörü nasıl kullanılır onu anlatacağım...
isterseniz ilk önce dht11 sensörü nedir ve arduinoya nasıl bağlanır onu anlatayım..
isterseniz ilk önce dht11 sensörü nedir ve arduinoya nasıl bağlanır onu anlatayım..
DHT11, dijital sinyal çıkısı ve sıcaklık-nem sensörü birimlerini bulunduran bir sensördür. Sensör içerisinde direnç ile nem ölçüm bileşeni ve NTC Sıcaklık ölçüm bileşeni bulunmaktadır.
Özel bir dijital sinyal üretip bunu tek hat üzerinden seri olarak iletmektedir. Bu hat çift yönlü seri iletim yapabilmektedir.
Sensör doğru bağlanmış ise sensörün data pinine bağlı olan pin en az 18 ms boyunca “0” ardından 20-40 us boyunca “1” yapılır. Daha sonra bu pin giriş pini olarak ayarlanır. Eğer 80 us boyunca “0” ve yine 80 us boyunca “1” geliyorsa sensör doğru bağlanmış ve veri transferine başlamış demektir.
DHT11 toplam 40 bitlik(5 byte) bir veri gönderir.
1.byte nem değerinin tam sayı kısmını,
2.byte nem değerinin ondalıklı kısmını,
3. byte sıcaklık değerinin tam sayı kısmını,
4. byte ise sıcaklığın ondalıklı kısmını ifade eder.
Eğer veri iletimi doğru bir şekilde tamamlandıysa, 5. byte ilk 4 byte toplamına eşittir.
Her bitin gönderiminden önce 50us lik bir bekleme süresi vardır. Bu sürenin ardından gelen sinyal 26 – 28us arasında sürüyor ise bu bit değeri olarak “0” ‘ı , 70us sürüyor ise bit değeri olarak “1”‘i ifade eder.
DHT11, 0 – 50 ℃ arasında sıcaklık ölçümü yapabilmektedir. +-%2 lik hata payı vardır.
DHT11, %20 -% 90 arası nem ölçümü gerçekleştirebilmektedir. Nem hata payı ise +- %5 dır.
DHT11’i Arduino ile kullanacaksak yukarıdaki bilgileri kullanmamıza gerek duymadan programla yapabiliriz. Çünkü hazır kütüphaneler bizim için bu bilgileri işleyen fonksiyonlara sahipler.
DHT11′ i Arduino’ ya bağlarken 10k’ lık direnç ile pull-up yapmamız gerekmektedir.
baglantı şemasına gelecek olursak ben aşagıdaki kodda var olan baglantı şemasını paylaşacagım ama genel olarak dht11 arduinoya böyle baglanıyor sadece pin baglantıları programdan degiştiriliyor..
Kodlar için dht11 kütüphanesi gerekli onun linkini altta vereceğim ve kurulumunu anlatacağım.
Kütüphanenin linki: http://dosya.web.tr/KML9gm
dosyayı RAR içinden çıkarıp C:\Program Files (x86)\Arduino\libraries klasör'ünün içine yapıştırınız.
Bu işlemi yaptıktan sonra sırada kodlar var...
dosyayı RAR içinden çıkarıp C:\Program Files (x86)\Arduino\libraries klasör'ünün içine yapıştırınız.
Bu işlemi yaptıktan sonra sırada kodlar var...
#include <dht11.h> // dht11 kütüphanesini ekliyoruz.
#define DHT11PIN 2 // DHT11PIN olarak Dijital 2"yi belirliyoruz.
dht11 DHT11;
void setup()
{
Serial.begin(9600); // Seri iletişimi başlatıyoruz.
Serial.println("wwww.ramazantuncay.blogspot.com.tr DHT11 Test Programi");
}
void loop()
{
// Bir satır boşluk bırakıyoruz serial monitörde.
Serial.println();
// Sensörün okunup okunmadığını konrol ediyoruz.
// chk 0 ise sorunsuz okunuyor demektir. Sorun yaşarsanız
// chk değerini serial monitörde yazdırıp kontrol edebilirsiniz.
int chk = DHT11.read(DHT11PIN);
// Sensörden gelen verileri serial monitörde yazdırıyoruz.
Serial.print("Nem (%): ");
Serial.println((float)DHT11.humidity, 2);
Serial.print("Sicaklik (Celcius): ");
Serial.println((float)DHT11.temperature, 2);
Serial.print("Cig Olusma Noktasi: ");
Serial.println(DHT11.dewPoint(), 2);
// 2 milisaniye bekliyoruz. 2 milisaniyede bir veriler ekrana yazdırılacak.
delay(200);
}
Kodları arduinomuza yükleyip çalıştırdıktan sonra karşımıza aşağıda videosunu paylaştığım gibi bir şeylerin çıkması lazım...
Evet bu yazımızda burada son bulsun..İleri ki projelerde görüşmek üzere..Takipte Kalınız.....