Posted by : MC 30 Ocak 2015 Cuma




Yaratıcı arduino projelerinden belkide en ilgi çekici olanı arduino ile ev otomasyonu yapımı.
Bu projede evin iklimlendirmesi, güvenliği ve aydınlatma kontrolü ele alınmış.Gelin genel olarak kullanılan ekipman listesine bir bakalım.














1 adet Arduino geliştirme kartı
1 adet  homeeasy controller - HE300
1 prototip board u - Vero board
10 adet direnç - 47 ohm
10 adet led
4 adet  opto izolatör - RS part 308-613


Genel olarak sistem nasıl işliyor ?

Uzaktan kumanda edilecek olan röleler opto kupler kullanılarak kontrol ediliyor.Neden opto kupler ile kontrol ediyoruz.Çünkü opto kupler bize geliştirme kartından bağımsız yüksek güçlerde röle çektirmemizi sağlıyor.Bunu nasıl yapıyor ?


Kontrol kartımızdan gelen 3.3 ya da 5V dijital bilgi opto kuplerimiz içerisinde bulunan ledi yakarak ışığa duyarlı olan transistörü tetikler ve bu durumda transistörün kollektöründen emitterine akım akmaya başlıyor.Emitter tarafıda 10k ohm gibi bir direnç bağlayarak buradan röle çektirme gücümüzü almış oluyoruz.


Yukarıdaki resimde görüleceği üzere 4 adet opto kupler her biri içerinde 2 şer adet kupler bulunan entegrelerle 8 kanallı bir sistem oluşturulmuş.Bu ne demek sekiz adet röleyi kontrol kartımızdan izole edilmiş halde çektirebiliriz anlamını taşıyor.


Uzaktan kumanda sisteme uygun hale getirilmiş.Kullanılacak olan her butonun ortak uçları ve tetikleme uçları alınarak arduinoya gönderilmiş.

Gelelim yazılım kısmını irdelemeye :)
Yazılım kısmında seri haberleşme ile kontrol ele alınmış.




char val; // seri haberleşme portundan gelecek olan komutu tutacak olan değişkenimiz







void setup()

{

pinMode(2, OUTPUT); // 2 den baslayarak 11 e kadar olan dijital noktalarımızı

pinMode(3, OUTPUT); // output olarak ayarlıyoruz

pinMode(4, OUTPUT); //

pinMode(3, OUTPUT); //

pinMode(6, OUTPUT); //

pinMode(7, OUTPUT); //

pinMode(8, OUTPUT); //

pinMode(9, OUTPUT); //

pinMode(10, OUTPUT); //

pinMode(11, OUTPUT); //




Serial.begin(9600); // 9600 baudrate ile seri haberleşmemizi başlatıyoruz.




}




void loop() {

if( Serial.available() ) //Seri haberleşme hazır mı?

{;}

val = Serial.read(); // hazırsa komutu val içine al




if( val == 'h' ) // val = h ise ısıtma sistemini durdur.




{

digitalWrite(2, HIGH); // 2 nolu çıkışa 1 yaz

delay(1000); // 1 saniye bekle

Serial.println("h = Heating off"); // seri monitöre ısıma kapalı yaz

digitalWrite(2, LOW); // 2 nolu çıkışı tekrar 0 yap




}

if( val == 'H' ) // Gelen komut H ise

{

digitalWrite(3, HIGH); //3 nolu çıkışı 1 yap

delay(1000); //

Serial.println("H = Heating on"); Seri Monitore ısıtma devrede yaz

digitalWrite(3, LOW); // 3 nolu çıkışı 0 yap

}

if( val == 's' ) //

{

digitalWrite(4, HIGH);

delay(1000); //

Serial.println("s = gate off"); elektronik kilit kapalı

digitalWrite(4, LOW); //

}

if( val == 'S' ) // if '5' was received

{

digitalWrite(5, HIGH); //

delay(1000); //

Serial.println("S = gate on"); elektronik kilit açık

digitalWrite(5, LOW); //

}

if( val == 'g' ) //

{

digitalWrite(6, HIGH); //

delay(1000); //

Serial.println("g = Garden lights off"); //bahçe ışıkları kapalı

digitalWrite(6, LOW); //

}

if( val == 'G' ) //

{

digitalWrite(7, HIGH); //

delay(1000); //

Serial.println("G = Garden lights on");// Bahçe ışıkları açık

digitalWrite(7, LOW); //

}

if( val == 'b' ) //

{

digitalWrite(8, HIGH); //

delay(1000); //

Serial.println("b = Bedroom light off");//yatak odası ışıkları kapalı

digitalWrite(8, LOW); //

}

if( val == 'B' ) //

{

digitalWrite(9, HIGH); //

delay(1000); //

Serial.println("B = Bedroom light on");// yatak odası ışıkları açık

digitalWrite(9, LOW); //

}







}




Sistemi özetlemek gerekirse:

komutlar :

H: ısıtma sistemini devreye al ve ısıtma açıldı ledini 1 saniye yak ve söndür

h:ısımta sistemini devre dışı bırak ve ısıtma kapatıldı ledini 1 saniye yak ve söndür

G:Bahçe ışıklandırmasını aç ve ışıklandırma açıldı ledini 1 saniye yak ve söndür.

g: Bahçe ışıklandırmasını kapa ve ışıkladırma ledini yak ve 1 saniye sonra söndür

B:Yatak odası ışıklarını aç ve ışıklar açıldı ledini 1 saniye yak ve söndür

b:Yatak odası ışıklarını kapa ve ışıklar kapandı ledini 1 saniye yak ve söndür

S:Elektronik kapı kilidini aç ve kilit açıldı ledini 1 saniye yak ve söndür

s:elektronik kapı kilidini kitle ve kilitlendi ledini 1 saniye yak ve söndür




Her bir durum kontrolü için atanmış çıkışlar üzerinden optokuplerler aracılığı ile rölelerin çektirilme mantığı ile birlikte sistem on / off olarak kontrol edilmiş.




Neler eklenebilir ?




1.PWM çıkışı ile birlikte gerek pulse göndererek ya da gerekse 0-10V gönderilmesi ile dimmer kontrolü sağlanabilir




2.Seri haberleşme olarak değilde bir Ethernet shiled ve sabit ip aracılığı ile birkaç basit php ve html bilgisi ile webbrowser üzerinden kontrol sağlanabilirdi (farklı kablosuz haberleşme metodları da kullanabilir :) )




3.Güvenlik kısmı azınlıkta kalmış.Sisteme duman sensörü,su baskını sensörü gibi farklı güvenlik kontrol sensörlerinin bağlantısı da sağlanabilir.




Şu anda aklıma gelenler bunlar :) Sizlerde yorumlarınızla aklınıza gelen eklemeleri paylaşabilirsiniz ve bunu gerek facebook grubumuzda gerekse sohbet bölümümüzde tartışabiliriz.




Bir sonraki yazımda görüşmek dileği ile ...




Yazar: Caner ÇAKAR

{ 1 Comments... read them below or add one }

  1. Akıllı ev sistemleri artık her eve şart.Hem güvenli hem de olanaklı kolaylıklar sağlıyor.

    YanıtlaSil

ELEKTRO BLOGGER A HOŞGELDINIZ

ARAMA YAP

EN COK OKUNANLAR

- Copyright © ELEKTRO-BLOGGER Blogger