Rehber DHT11 ile sıcaklığa göre çalışan fan yapımı | Arduino

157134

Kilopat
Katılım
22 Şubat 2017
Mesajlar
1.635
Makaleler
3
Çözümler
5
Malzeme listesi:
  • Arduino Uno
  • 5V röle
  • DHT11 sıcaklık ve nem sensörü
  • Herhangi bir fan

Öncelikle DHT11 kütüphanesini indirmemiz gerekiyor. Bunun için Arduino uygulamasını açıyoruz.

Araçlar >> Kütüphaneleri Yönet... kısmına gelip arama kutusuna DHT yazıyoruz. Sonuçlarda çıkan DHT sensor library kısmından 1.4.0 versiyonunu seçip kuruyoruz.


Library.PNG



İlk olarak DHT11 sensörünün bağlantılarını yapıyoruz.

dht.jpg


VCC(+) -----> +5V
Signal ------> 8. pin
GND (-) -----> GND şeklinde bağlantılarımızı gerçekleştiriyoruz.

Sonra rölemizin bağlantılarını yapıyoruz.

VCC(+) -----> +5V
In -----------> 13. pin
GND (-) -----> GND şeklinde bağlantılarımızı gerçekleştiriyoruz.

Ardından fanımızı röleye bağlamamız gerekiyor. Rölemizin orta bölümüne Arduino'dan aldığımız +5V bağlantısını takıyoruz. Sağ kısıma ise fanımızın güç kablosunu (kırmızı renkli olan) takıyoruz. Sağ tarafa takmamızın nedeni ise Arduino'dan HIGH voltaj gönderdiğimizde rölemizin çalışmasını istiyoruz. Fanın GND kablosunu (siyah kablo) ise herhangi bir GND pinine bağlayabilirsiniz.

InkedIMG_20210116_180155_LI.jpg



Bağlantılarımız tamam, hadi kodlama kısmına geçelim.


IMG_20210116_180635.jpg




Kod:

C++:
#include "DHT.h" //DHT kütüphanemizi yüklüyoruz.
#define DHTPIN 8 //Sensörümüzden sinyal alacağımız pini tanımlıyoruz.
#define DHTTYPE DHT11 //Sensörümüzün türünü tanımlıyoruz.

#define role 13 //Rölemize sinyal göndereceğimiz pini tanımlıyoruz.

DHT dht(DHTPIN, DHTTYPE);

void setup() {

  pinMode(role, OUTPUT);

  Serial.begin(9600);
  Serial.println(F("Veriler alınıyor..."));

  dht.begin();

}

void loop() {

  delay(2000);

  float sicaklik = dht.readTemperature(); //Sıcaklık değerini alıyoruz.

  //Eğer sensörümüzden bir değer okunmazsa uyarı vermesi için kontrol ediyoruz.
  if (isnan(sicaklik)) {
    Serial.println(F("Failed to read from DHT sensor!"));
    return;
  }
  else {

    Serial.print(F(" Sıcaklık: "));
    Serial.println(sicaklik);

    //Eğer sıcaklığımız 25'in üzerindeyse rölemizi çalışmak üzere ayarlıyoruz.
    if (sicaklik >= 25) {
   
      digitalWrite(role, HIGH);
     
    }
    else {
     
      digitalWrite(role, LOW);
     
    }

   
  }

}


Bu benim ilk rehber konumdu. Beğendiyseniz ne mutlu bana.😁


Not: Çalışma videosunu çekemedim fakat zaman bulursam çekip ekleyeceğim.
 
Eline sağlık, güzel olmuş. :)

Benim yaptığım gibi bir görsellik ekleyip, o sayfaya da fanı manuel açmak için bir buton eklersen tadından yemez bence.

 
Fanın gücünü Arduino'dan sağlayacaksanız röle kullanmadan doğrudan fanın pozitifini herhangi bir dijital pine, negatifi de negatife bağlarsanız dijital pini High ve Low komutlarıyla kontrol edebilirsiniz.
 
Eline sağlık, güzel olmuş. :)

Benim yaptığım gibi bir görsellik ekleyip, o sayfaya da fanı manuel açmak için bir buton eklersen tadından yemez bence.

Amacım otomatik açılmasını sağlamaktı, o yüzden o doğrultuda gittim. Yani şey gibi kasanın içine koymuşsunda otomatik çalışıyor gibisinden.

Fanın gücünü Arduino'dan sağlayacaksanız röle kullanmadan doğrudan fanın pozitifini herhangi bir dijital pine, negatifi de negatife bağlarsanız dijital pini High ve Low komutlarıyla kontrol edebilirsiniz.
Aslında ilk başta 12V ile kontrol etmek istiyordum ama elimde güç kaynağı olmadığından öyle kaldı. Ben de hazır çıkarmışken yapayım dedim.
 

Geri
Yukarı