Arduino GSM İle Ev Güvenlik Sistemi

0
6160
Arduino GSM İle Ev Güvenlik Sistemi
Arduino GSM İle Ev Güvenlik Sistemi

Arduino GSM İle Ev Güvenlik Sistemi

Bu proje, evlerimizde istenmeyen durumlara karşı güvenlik duvarı oluşturmak için tasarlanacaktır. Geliştirilen sistem, GSM teknolojisine dayalı bir gömülü sistem kullanacaktır.

Kullanılan Malzemeler

  • Bir adet Arduino Uno kartı,
  • Bir adet TOOuF /25 Volt kondansatör,
  • Bir adet SIM900A temelli GSM/GPRS Modem,
  • Bir adet 7805 Regülatör,
  • Bir adet açma/kapama düğmesi ve led,
  • Bir adet 10uF/16 Volt kondansatör,
  • Bir adet 1 kiloohm direnç,
  • İki adet buton,
  • Bir adet iki girişli konnektör/sensör,
  • Bir adet 12 volt batarya.

Tasarım

Sistemi kendi evlerimizde de rahatlıkla kullanabiliriz. Bir arabirim saldırı algılama ünitesi mikro-tabanlı güvenlik sistemine bağlanır. Herhangi bir güvenlik açığı durumunda ev sahibine cep telefonu ile uyarı mesajı gönderilir.

Devreyi sol baştan incelemeye başladığımızda; 12 volt değerindeki bataryanın pozitif ucu açma/kapama anahtarına, negatif ucu Arduino‘nun GND pinine gider.

Açma kapama anahtarının diğer ucu GSM modemin +12 volt pozitif besleme ucuna bağlanır. Bataryanın negatif ucu da modemin O volt negatif besleme ucuna gider.

GSM modemin TX ucu, Arduino’nun dijital 3 ucuna; RX ucu ise kartın dijital 4 ucuna bağlanır. Bu şekilde devrenin üst kısmını bitirdik. Şimdi orta kısma geçelim.

Orta kışımın sol tarafında iki adet devre elemanı bulunur. Bunlar 1 kiloohm direnç ve led’dir. Direnç, led’in pozitif bacağına bağlanır. Led’in negatif bacağı Arduino kartın GND pinine gider.

25 volt altında 100 uF ile çalışan kondansatörün bir ucu direnç ile diğer ucu ise led’in negatif bacağı ile bağlantılıdır.

7805 Regülatörün 3 ucu vardır. Bunlar IN, OUT, GND. IN ucuna 100 uF kondansatörün ve açma kapama anahtarının ucu giriş yapar. GND ucu ise Arduino GND pinine bağlıdır. Regülatörün OUT çıkışı, 16 volt altında 10 uF ile çalışan bir kondansatör ile hem topraklamaya hem de Arduino 5 volt pinine bağlanır.

Alt kısma baktığımızda Arduino kartın sol tarafında araları topraklanmış 2 adet buton görülür. Bu butonlar çağrı ve sonlandırma butonlarıdır. Sonlandırma butonu Arduino’nun dijital 9 pinine, Çağrı butonu ise dijital 8 pinine gider. Alt sağ kısımda ise Arduino’nun dijital 7 pinine bağlı tetikteme girişi vardır.

Bu tetikleme girişi sizin seçtiğiniz sensöre göre belirlenebilir.

Kodlar

Sistem çok basit ve kendi kendini açıklayıcıdır. Devreye 12 volt enerji verildiğinde sistem bekleme moduna geçer. Devre resmine göre alt sağda yer alan konnektör kısa devre olduğunda yani + ve – uçları arasında bağlantı olduğunda önceden tanımlanmış telefon numarasına mesaj atar. Bu konnektör ışık, hareket veya başka tür sensörlerden biri olabilir. Seçim size kalmış. J2 diye kastettiğimiz şey aslında bir sensördür. Güvenlik sisteminin çalışması için 1 numaralı pinin tetiklenmesi yeterledir.

Ayrıca isteğe bağlı olarak telefona elle çağrı yapabilmek için S2 ve S3 butonları sisteme eklenmiştir. S2 butonuna basıldığında telefon görüşmesi başlatılır. S3 ile de çağrı bitirilir.

//GSM TX----ARDUINO D3

//GSM RX----ARDUINO D4

//SMS TETİKLEME UCU-ARDUINO D7

//ARAMA TETİKLEME UCU-ARDUINO D8

//ARAM SONLANDIRMA UCU-ARDUINO D9



//<NewSoftSerial.h> seri haberleşme kütüphanesini

//İnternetten indiriniz





#include <NewSoftSerial.h>

NewSoftSerial mySerial(3,4); // gsm rx,tx pinleri

#define msg_key 7

#define call_key 8

#define end_key 9

String number ="0000000000"; // 10 haneli telefon numarası

void setup()

{

   Serial.begin(9600);

   mySerial.begin(9600);

   pinMode(msg_key,INPUT);

   pinMode(call_key,INPUT);

   pinMode(end_key,INPUT);

   digitalWrite(msg_key,HIGH);

   digitalWrite(call_key,HIGH);

   digitalWrite(end_key,HIGH);

}

void loop()

{

   //tetikleme olursa mesaj gönder

   if (digitalRead(msg_key)==LOW) // tetikleme ucunu kontrol

   {

      mySerial.println("AT+CMGF=1"); // metin modu ayarlanıyor

      delay(150);

      mySerial.println("AT+CMGS=\"+00"+number+"\""); // uluslararası numara tanımlanıyor

      delay(150);

      mySerial.print("EVDE SOYGUN VAR"); // mesaj

      delay(150);

      mySerial.write((byte)0x1A); // 0x1A mesaj bitirme kodu

      delay(50);

      mySerial.println();

   }

   //arama tetiklenirse çağrı yapmak için

   else if (digitalRead(call_key)==LOW) // buton kontrol

   {

      mySerial.println("ATD+91"+number+";"); //uluslararası numara tanımlanıyor

      while(digitalRead(call_key)==LOW);

      delay(50);

   }

   //çağrıyı bitirme işlemleri

   else if (digitalRead(end_key)==LOW) // bitirme butonunu kontrol etme

   {

      mySerial.println("ATH");

      while(digitalRead(end_key)==LOW);

      delay(50);

   }

}

CEVAP VER

Please enter your comment!
Please enter your name here