close
proje yenilik

Akıllı Termostat Nedir ?

Yeni bir,  bir adım ötesi projemizle merhabalar. Bu porjemizde özellikle akıllı ev sistemi ile ilgilenen arkadaşları birkaç adım ileri götürecek bir proje yapacağız. Projemiz akıllı termostat yapımı şeklinde kısaca özet geçilse de işin detayına indikçe inilen, bu alanda gerçekten ciddi rekabetin ve güzel çalışmaların bolca mevcut olduğu bölüm. Akıllı ev sistemleri ile ilgilenen arkadaşlar için özellikle, akıllı ev sistemi tasarlayan firmaların belki de en önem verdiği klasman, akıllı termostat devresini açıklamaya çalışacağız.



Öncelikle akıllı ev sistemleri ile ilgili çok proje gördüm internette. Güzel projeler de var. Ama nedendir bilinmez perde aç kapa, garaj kapağını aç kapa, ışığı aç kapa, kısacası aç-kapa mantığının ötesine geçmemiş kimse. Ne yazıktır ki bu işi resmen yapan şirketleri araştırmamış, kullanıcıya ne sunmuşlar kimse bakmamış. Bir kaçak akım koruma sistemi, gaz kaçağı kontrol, su baskını kontrol gibi hayati öneme sahip noktaları atlamış arkadaşlar.

Biz de dht11 sensörünü tanıttık. Tadımlık bir projesini yaptık, bir adım ötesi projesine ne yapalım derken aklımıza bu geldi. Akıllı termostat yapalım dedik.

Nedir bu akıllı termostat hikayesi ?

Öncelikle piyasa da oldukça yaygın olarak kullanılan akıllı termostatı kısaca açıklamaya çalışalım. Akıllı termostat, termostat üzerindeki pot ile, girilen ayarlı sıcaklığa kadar ısıtıp o değer aşılınca kombiyi kapatan bir sistem. Buraya kadar her şey güzel, kendisini akıllı kılan kısım ise; +2,-2 opsiyonu.  Bir örnekle açıklayacak olursak;



Mesela sizin eviniz 25 derece, siz sıcaklığı 30 derece de tutmak istiyorsunuz. Normal termostatlar daha doğrusu kombiler, odayı 30 dereceye kadar ısıtır sonra kendisini kapatır. Oda sıcaklığı 29 derece olunca açılır oda ısısını 30 derece yapıp kendisini tekrar kapatır. Bu kısır döngü böylece devam eder. Böylece kombiniz 5dk’da bir kendisini açar kapatır. Bu da ömründen ömür yer.

Akıllı termostat dediğimiz hikayeye girmeden önce yeni nesil evler akıllı ev sistemi olsun olmasın artık bu sistemi tercih ediyor ve evin dışında ısı motoru bulunduruyor. Yani kombili evler yavaş yavaş gidiyor.

Neyse akıllı termostat dediğimiz hikaye ise gene aynı örnekten açıklayacak olursak; Eviniz 25 derece, siz 30 derece olsun istiyorsunuz. Potunuzu 30 derece kademesine getirdiniz.  Termostatımız  evi sizin girdiğinizin 2 derece fazlasına kadar yani 32 dereceye kadar ısıtır, sonra motoru durdurur. Ve yine sizin girdiğiniz değerin 2 derece eksiğine kadar yani ev 28 derece olana kadar motoru çalıştırmaz. Böylece daha sağlıklı bir ısı kontrolü sağlamış olursunuz.

Piyasada kullanılan yeni nesil termostatların çalışma mantığını kısaca açıkladığımıza göre yavaştan projemize geçelim.

Malzemeler
  • 1xArduino
  • 1xDht11
  • 1xAyarlı direnç-Pot(Kaç k olduğu mühim değil.)
  • 1x Led
  • Çokça jumper
Arduino Kısmı
Program Kodları
1 #include <dht11.h>  //kütüphanemizi ekledik.
2 dht11 dh;          // fonksiyonumuzu oluşturduk.
3 int a,b,c;        //  Kullanacağımız değişkenler.
4 bool d=1;          // bool fonksiyonunda tanımladığımız değişken 1 veya 0 değeri alabilir sadece.
5 void setup () {
6 dh.attach(2); //dht11 fonksiyonumuzun arduinoya bağladığımız pini
7 Serial.begin(9600); // Seri haberleşmeyi başlattık. hata kontrol amaçlı ilerde de sıkça kullanıcaz.
8 pinMode(3,OUTPUT);  // Ledimizi bağladığımız pinimizi çıkış olarak ayarladık.
9 }
10 geçersiz döngü () {
11 a=analogRead(A0); //porttan gelen ayarlı sıcaklık.
12 a=map(a,0,1023,0,40); // ayarlı sıcaklığı 0-40 derece arasında sınırlandırdık.
13 b=dh.read();   // dht11 sensörünün düzgün çalıştığı bilgisini istedik sensörden.
14 c=dh.temperature; //oda sicakliğinı celcius cinsinden istedik.
15  if(d=1){          // iki aşamalı tetikleme için bool fonksiyonunu kullandık aşağıda detaylandıracağız.
16     (c <= a + 2) {
17      digitalWrite (3, YÜKSEK);
18  D = 1 ‘dir;
19    }
20   (c> a + 2) {
21 digitalWrite(3,LOW);         // ana fonksiyon kısmı
22   D = 0;
23   }
24 }
25 else {
26   (c-3 <a && a> C + 3) {
27 digitalWrite (3, DÜŞÜK);
28  D = 0; }
29   başka
30  D = 1 ‘dir;
31 }
32 Serial.print ( “odasicakligi:”);
33 Serial.print ( “”);
34 Serial.print(c);                     // Mantıksal hata olup olmadığını kontrol ettiğimiz debug da diyebileceğimiz kısım.
35 Serial.print ( “”);
36 Serial.print ( “ayarlisicaklik:”);
37Serial.print ( “”);
38 Serial.print (a);
39 Serial.print ( “”);
40 Serial.print (d);
41 Serial.println ();
42}

 

Devre Şeması
akilli-termostat
akilli-termostat

Şimdi kod kısmını açıklamaya çalışalım. Oda sıcaklığını ölçmek için sıcaklık sensörü olarak dht11’i seçtik. Oda sıcaklığını ayarlamak için pot(ayarlı direnç) kullandık. Piyasada ki termostatlar da pot kullanır. Kombi-ısı motorunu temsil amaçlı led kullandık.



Termostatımıza, akıllı termostat ismini veren kısıma gelelim. İki aşamalı tetikleme sistem diye bir açıklama söz konusu kod kısmında. Meselemiz biraz da bu. İki aşamalı tetikleme sistemi; 1. Aşamada oda sıcaklığını girilen değerin 2 derece fazlasına kadar ısıtır. 2. Aşamada oda sıcaklığımız girilen değerin 2 derece fazlasından iki derece eksik olduğu duruma gelene kadar, kombimizi(burada ledimizi) kapalı konumda tutar. Biz bunu kod kısmında nasıl yaptık;

Bool fonksiyonunda tanımlanan değişkenler 1 ve 0 değeri harici bir değer alamazlar. Tanımlarken 1 değerinde tuttuk . Oda sıcaklığını girilen değerin 2 derece fazlası kadar ısıtınca bool değişkenimizi 0’ladık. İkinci aşamaya geçtik bu aşamada sıcaklık yukarıda belirttiğimiz aralıkta kaldığı sürece, ledimizi kapalı tutacak. Aralığın dışına çıkılınca da bool değişkenimiz tekrar 1 olup sistem 1. Aşamaya geçecektir.

Son kısım; hata ayıklama kısmı diye bahsettiğimiz kısım, mantıksal yanlışımız olup olmadığını kontrol amaçlı koyduğumuz kısımdır. Siz dilerseniz koymayın.

Etiketler : akıllı ev sistemleriakıllı termostatArduinoarduino ile termostatArduino projeleri

6 Comments

  1. Gerçekten çok yararlı bir paylaşım.Site genel olarak çok başarılı. Admin arkadaşların başarılarının devamını diliyorum 🙂

    1. Öncelikle iyi akşamlar. Sonra güzel yorumlarınız için teşekkürler Mustafa Bey. Faydalı olabildiysek ne mutlu 🙂

  2. Sayenizde 4 aydır üzerinde çalıştığım kuluçka makinesinin ısıtma sistemini yaptım. Çok teşekkür ederim. Bende makinemi bu sitede paylaşma imkanım var mı?

    1. Butonla da yapabilirsiniz bu sefer butonlara basıldığında istenilen sıcaklık değerlerini algoritmaya dahil edersiniz.
      ( Mesela buton 1 ‘e basıldığında 20 derecede , buton 2 ‘ye basıldığında 40 derecede sistem çalışsın gibi. )

Yorum Yap