Uzaktan Kontrollü Termostad 

Merhaba arkadaşlar, Bugün sizlerle telefon ile belirttiğiniz değerlerde çalışmasını sağlayabileceğiniz ve geliştirmeye açık termostat projesini paylaşmak istiyorum.

Projenin amacı internet üzerinden dünyanın herhangi bir yerinden değerleri görmeniz ve gerektiğinde müdahale etmenizdir.

Proje WeMos D1 mini üzerine kuruludur ama herhangi ESP8266 tabanlı geliştirme kartında çalışması mümkündür.

Projede kullanılan Malzemeler

  1. ESP8266-12 WeMos D1 mini
  2. DHT22 sıcaklık ve nem sensörü
  3. 5 Voltluk Röle modülü (Bunu ben kendim yaptım)

Ben bu kullandıklarımı daha önce kendi el emeği göz nuru modülleri yaptığımdan görüntüsü şu şekilde.

Yanında bulunan LİPO pil modülü elektrik kesintilerinden etkilenmemesi için ekledim.

Telefondan kontrol edebilmeniz için telefonunuza marketten BLYNK app kurmanız gerekmektedir.

AS_link
GP_link

Kurduktan sonra karşınıza aşağıdaki ekran ile karşılaşırsınız.

Şimdi yapmanız gereken scan QR code a tıklayarak alttaki kodu tarayın. Programınız kullanıma hazır olacaktır.

Kodu taradıktan sonra alttaki şekilde widgetlar ayarlı olara programınız hazır olacaktır.

Projemizde BLYNK kullanılmaktadır. Programımız için kendi kütüphanesini indirmeniz gerekiyor. Bunu Arduino IDE programınızdan kütüphane ekle menüsüne BLYNK yazmanız ve kurmanız yeterli olacaktır.

 

Programımız

#include <DHT.h>
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
#include <SimpleTimer.h>
#include <WidgetLED.h>
#define BLYNK_PRINT Serial
char auth[] = "61c553e8b72c4e52ab6b68db9741aeddaaa"; // bu kodu almalisiniz
SimpleTimer timer;
#define DHTPIN D1
#define DHTTYPE DHT22
const int relay1 =  15;
int humLowTrigger;
DHT dht(DHTPIN, DHTTYPE);
void updateHum(int param);
BLYNK_WRITE(V7) {
updateHum(param.asInt());
}
void Readdata()
{
float h = dht.readHumidity();
float t = dht.readTemperature();
Blynk.virtualWrite(V10, h);
Blynk.virtualWrite(V20, t);
Blynk.virtualWrite(V25, humLowTrigger);
if(h < humLowTrigger) {
digitalWrite(relay1, HIGH);
Blynk.virtualWrite(V26, 255);
} else {
digitalWrite(relay1, LOW);
Blynk.virtualWrite(V26, 0);
}
}
void updateHum(int param) {
humLowTrigger = param;
}
void setup()
{
Serial.begin(9600);
Blynk.begin(auth, "SSID", "SIFRESI");
timer.setInterval(10000, Readdata);
dht.begin();
pinMode(relay1, OUTPUT);
digitalWrite(relay1, LOW);
int humLowTrigger = 40;
}
void loop()
{
Blynk.run();
timer.run();
}

Boş zamanlarda arduino ile uğraşan kendi halinde bir Öğretmen.

  
  1. kenan 14 Nisan 2017 19:09

    iki parca olması gerekmez mi?
    birincisi oda sıcaklığını alan
    ikincisi kombinin yakınında olan roleyi tetikleyecek wifi cihazı?
    yanliş mı düşünüyorum?

    Cevapla
  2. erkan 14 Nisan 2017 13:27

    Harika akşama gidip yapmaya başlayacağım, sonradan DS18B20 veya DHT sensör nasıl ilave edebiliriz acaba?

    Birde artık sitede MQTT örnekleri görmek isterim. 🙂

    Cevapla
    • Arduinocu 15 Nisan 2017 06:15

      tesekkurler Erkan . Projeye dikkat ettiyseniz nrf ile uzaktan nem sıcaklık verisini almıyor direk . tek geliştirme kartıyla alıyor. Bundan dolayı sadece başlangıç olması dolayısı ile yayınladım.
      Kolay Gelsin

      Cevapla
      • erkan 16 Nisan 2017 16:51

        Denedim gayet güzel çalışıyor, ilginç olan eğer BLYNK programı kapanınca nem limiti ne ayarlandıysa o set değerine göre çalışmaya devam ediyor.
        Ben sonradan Ethernet + Arduino ile yapmayı düşünüyorum, bir kaç tane DS18b20(her odaya) bir tane dışarı BMP180 koyarak bir termostat yapmak istiyorum, yapabilirsem burdan paylaşırım.

        Cevapla
        • Arduinocu 16 Nisan 2017 17:10

          Teşekkürler Erkan , projeden enerji kesilmediği sürece ayarlanan değerde çalışmaya devam ediyor . Eğer projeye eeproma kayıt ve oradan okuma özelliği eklenirse o zaman kapansa dahi çalışmaya devam eder .
          Paylaşımınızı bekliyoruz kolay gelsin

          Cevapla

Bir Cevap Yazın

Time limit is exhausted. Please reload CAPTCHA.