DHT11 NEM VE SICAKLIĞI NASIL ÖLÇER?

DHT11, iki elektrot arasındaki elektrik direncini ölçerek su buharını tespit eder. Nem algılayıcı bileşen, yüzeye elektrotlar uygulanmış nem tutan bir substrattır. Su buharı substrat tarafından emildiğinde, iyonlar elektrotlar arasındaki iletkenliği arttıran substrat tarafından salınır. İki elektrot arasındaki direnç değişimi, bağıl nem ile orantılıdır. Daha yüksek bağıl nem, elektrotlar arasındaki direnci azaltırken, daha düşük bağıl nem, elektrotlar arasındaki direnci arttırır.

DHT11 , üniteye yerleştirilmiş yüzeye monte bir  NTC sıcaklık sensörü (termistör) ile sıcaklığı ölçer . Termistörlerin nasıl çalıştığı ve Arduino’da nasıl kullanılacağı hakkında daha fazla bilgi edinmek için Arduino Termistör Sıcaklık Sensörü Eğiticimize göz atın.

Plastik gövde çıkarıldığında, substrata uygulanan elektrotları görebilirsiniz:

Ünitenin arkasına monte edilen bir IC, direnç ölçümünü bağıl neme dönüştürür. Ayrıca kalibrasyon katsayılarını saklar ve DHT11 ile Arduino arasındaki veri sinyali iletimini kontrol eder:

DHT11, Arduino’ya veri iletmek için sadece bir sinyal kablosu kullanır. Güç ayrı 5V ve topraklama kablolarından gelir. Sinyal seviyesinin varsayılan olarak yüksek kalmasını sağlamak için sinyal hattı ile 5V hattı arasında 10K Ohm çekme direnci gerekir (daha fazla bilgi için veri sayfasına bakın).

Karşılaşabileceğiniz DHT11’in iki farklı sürümü vardır. Bir tipte dört pim, diğer tipte üç pim vardır ve küçük bir PCB’ye monte edilir. Her iki sürüm için de pin çıkışları:

DHT11’İ ARDUİNO’YA KURMA

DHT11’i Arduino’ya bağlamak gerçekten kolaydır, ancak sahip olduğunuz türe bağlı olarak bağlantılar farklıdır.

ÜÇ PİMLİ DHT11 BAĞLAMA:

DÖRT PİMLİ DHT11 BAĞLAMA:

R1: 10K Ohm çekme direnci

SERİ MONİTÖRDE NEM VE SICAKLIĞI GÖRÜNTÜLEME

DHT11’i Arduino’da kullanmadan önce DHTLib kütüphanesini kurmanız gerekir . Sensörden nem ve sıcaklık değerlerini almak için gereken tüm fonksiyonlara sahiptir. Kurulumu kolaydır, aşağıdaki DHTLib.zip dosyasını indirin ve Arduino IDE’yi açın. Ardından Çizim> Kitaplığı Dahil Et> .ZIP Kitaplığı Ekle’ye gidin ve DHTLib.zip dosyasını seçin.

DHTLib

Kurulduktan sonra, bu örnek programı Arduino’ya yükleyin ve seri monitörü açın:

#include <dht.h>

dht DHT;

#define DHT11_PIN 7

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

void loop()
{
  int chk = DHT.read11(DHT11_PIN);
  Serial.print("Temperature = ");
  Serial.println(DHT.temperature);
  Serial.print("Humidity = ");
  Serial.println(DHT.humidity);
  delay(1000);
}

 

Nem ve sıcaklık değerlerinin bir saniyelik aralıklarla görüntülendiğini görmelisiniz.

Veri sinyali için pim 7’yi kullanmak istemiyorsanız, 5. satırdaki pim numarasını #define DHT11_PIN 7 yazdığı yerden değiştirebilirsiniz  .

NEM VE SICAKLIĞI LCD’DE GÖRÜNTÜLEME

Nem ve sıcaklık değerlerini göstermenin güzel bir yolu 16X2 LCD’dir . Bunu yapmak için, önce bir Arduino’da LCD Ekran Nasıl Kurulur ile ilgili eğiticimizi takip edin , ardından bu kodu Arduino’ya yükleyin:

#include <dht.h>
#include <LiquidCrystal.h>

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

dht DHT;

#define DHT11_PIN 7

void setup(){
  lcd.begin(16, 2);
}

void loop()
{
  int chk = DHT.read11(DHT11_PIN);
  lcd.setCursor(0,0); 
  lcd.print("Temp: ");
  lcd.print(DHT.temperature);
  lcd.print((char)223);
  lcd.print("C");
  lcd.setCursor(0,1);
  lcd.print("Humidity: ");
  lcd.print(DHT.humidity);
  lcd.print("%");
  delay(1000);
}

 

VERİLERİ DİĞER PROGRAMLARDA KULLANMA

Gerçek nem ve sıcaklık değerlerini çıkarmak istemezseniz, ancak başka şeyleri hesaplamak veya kontrol etmek için onlara ihtiyacınız varsa ne olur? Aşağıdaki kod, sensörü başlatmak için gereken minimum değerdir. Bunu mevcut programlara ekleyebilir ve  herhangi bir işlevde DHT.humidity ve DHT.temperature değişkenlerini değişken olarak kullanabilirsiniz  .

#include <dht.h>

dht DHT;

#define DHT11_PIN 7

void setup(){
}

void loop()
{
  int chk = DHT.read11(DHT11_PIN);
  delay(1000);
}

 

What is your reaction?

Excited
0
Happy
0
In Love
0
Not Sure
0
Silly
0

You may also like

Leave a reply

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

More in:Arduino