Arduino İle Akıllı Ev Sistemi


Teknoloji günümüzde evlerimize kadar girmiş ve bunun sayesinde evlerimizdeki araçlarımızı cep telefonları, tabletler veya bilgisayar üzerinden kontrol edebilirsiniz. Televizyonunuzu telefondan açıp kapattığınızı, gece yatacağımız vakit ışıkları kapatmaya kalktığımızı veya evden uzakta olduğumuzu ve ışıklar kapalı mı açık mı diye dert etmemize artık gerek kalmıyor. Arduino ile bunları kolay bir şekilde kapatıp açabilirsiniz.
Şimdi bizler bluetooth ile ampul yakma olayına bakacağız. Önceliğimiz tabi ki malzemeler.

 

Malzemeler:

• Arduino UNO R3 (30 – 50 TL arası bir fiyat)

• Bluetooth HC-05 (30 – 50 TL arası bir fiyat)

• Röle (5 – 10 TL arası bir fiyat)


• Ampul (5 – 10 TL arası bir fiyat ya da evde kullanılmayan bir odanın ampulü veya masa lambanızı kullanabilirsiniz.)

• Jumper Kablolar (1 – 5 TL arası bir fiyat ya da arızalı cihazlardan kablo temin edilebilir.)


Uyarı – Dikkat:
Bu projede 220 Volt elektrik kullanılmaktadır. Projeye başlamadan önce 220 Volt elektrik ile bağlantınızı kopartınız ve projeyi hazırladıktan sonra ampulünüzü 220 Volt prize bağlayabilirsiniz.


Malzemeleri hazırladığımıza göre başlayabiliriz. Öncelikle Arduino UNO üzerine kodlarımızı yazalım ve daha sonra devre şemamıza geçerek projemizi bitireceğiz.


Kodlar
:

#include 
SoftwareSerial BTSerial(8, 9);

Yukarıdaki kodlar bluetooth cihazımızın kütüphanesi ve Arduino ile telefon arasındaki veri alışverişini sağlamak için oluşturacağımız serial bağlantı portlarımızdır. Buradaki bağlantılar TX ve RX bağlantılarıdır. Normalde Arduino Üzerinde TX – RX yuvaları mevcut ama bazı cihazlar bu bağlantılar üzerinde çalışmayabilir ve bu yüzden burada yuvaları 8 ve 9 yaptık.


Kodlar
:

int ampul_pin=2;
char t; 

Bu kodlar ise ampulümüzün bağlantısını yapacağımız port ve bluetooth üzerinden gelen veriyi kontrol etmek için oluşturacağımız değişkenlerimizdir. İlk kod röleyi bağlayacağımız yuvadır. Burada amacımız, ileride uzun kodlar yazdığımız zamanlarda sürekli rölemiz ile ilgili kodu aramaktansa yukarıda değiştirme şansımız olacağı içindir. Şimdi void setup() yapısındaki kodlarımıza geçelim.

Kodlar:

void setup() {
pinMode(ampul_pin, OUTPUT);
BTSerial.begin(9600);
digitalWrite(ampul_pin, LOW);}

Yukarıdaki kodlarımız sırası ile şu şekildedir. Ampul_pin yani rölemizin pinini çıkış olarak ayarlıyoruz yani 2. Pine güç verme anlamında da düşünebilirsiniz. Diğer sıradaki kodumuzu Serial.begin olarak düşünebilirsiniz. Son kodumuz ise ampul değişkenimizi başlangıç olarak LOW yani güç vermiyoruz. Buradaki amaç Arduino ilk çalıştığında ampulümüzü yakmamak ve telefon üzerinden yakıp söndürmek amacıyla burada LOW yapıyoruz. Şimdi void loop() yapısındaki kodlara bakalım.

Kodlar:

void loop() {
if(BTSerial.available()){t = BTSerial.read();}
if(t=='a'){digitalWrite(ampul_pin, HIGH);}
if(t == 'k'){  digitalWrite(ampul_pin, LOW);}
}

Buradaki kodlar şu şekildedir:

• İf komutu Bluetooth bağlı ise içerideki komutu uygula değilse ise boş geçiyor. İçerisindeki kod ise Bluetooth üzerinden gelen değeri ilk başta tanımladığımız t değişkenine atıyor.

• Diğer Kodlar ise Bluetooth aracılığıyla gönderdiğimiz a veya k harflerini kontrol eder ve eğer bunlar varsa ampulü yakar veya söndürür. A harfi röleyi tetikleyip ampulü yakar. K harfi ise röledeki tetiklemeyi geri alarak ampulü söndürür.
Tüm kodlarımız bu kadar ve yukarıdaki tüm anlatılan kodlar makalenin altında verilecektir.

Şimdi sırada devre şemamız. Devre Şemasına Aşağıdaki Resimlerden Göz Gezdirebilirsiniz.