Arduino ile Lazerli Güvenlik Sistemi Uygulaması

Merhaba, bu uygulamamızda Lazerli Güvenlik Sistemi uygulaması yapacağız. 

Gerekli Malzemeler

Devre Şeması

Malzeme listesindeki malzemeleri kullanarak devremizi aşağıdaki şemaya uygun olarak kuralım. Devremiz 2 parçadan oluşuyor. Arduino ve lazer kısmın diyebiliriz. Lazer kısmında lazer modülümüz ve 3 adet 1.5 V pil bulunmaktadır. Yaklaşık 5V olacak şekilde bu kısmı besleyebilirsiniz. Ben arduinodan çıkış alarak lazeri besleyebilirdim ama kablolar olduğu için uzak mesafede sıkıntı çıkabilir o yüzden ayrı yapmayı tercih ettim. Devreyi kurduktan sonra lazer ışığını ldr’nin üstüne gelecek şekilde hizalıyoruz.

Uygulama Çalışma Mantığı

Arduino da bulunan ldr sensörümüzün üzerinde sürekli olarak lazer ışığı olacaktır. Bu 2 devre arasına bir cisim girerse yani lazer ışığı kesilirse devremiz alarm verecektir. Bu süre 1 saniyeden kısa bile olsa sistemimiz alarm verecektir.  LDR üzerinde lazer ışığı varken ldr’den okuduğumuz değer, ortama bağlı olarak ölçtüm ve 300’dür. 300’den aşağı değer olunca lazer ışığı kesilmiş oluyordur. 300’den yukarı değer olunca ise lazer ışığı ldr üzerinde olarak düşünebiliriz. Bu 300 değerini siz ortamınıza göre değiştirebilirsiniz. Sabit bir değer değildir.

Eğer bir lazer ışığında kesinti olursa yani araya cisim girerse sistem sürekli olarak buzzer ve kırmızı led ile uyarı verecektir. Alarmı durdurmanın 2 yöntemi vardır. İlk olarak devremizde bulunan butona basarak alarmı durdurabiliriz. İkinci olarak da devremize bağladığımız IR alıcı sayesinde uzaktan kumanda ile alarmı durdurabileceğiz. Alarmı durdurunca kırmızı ledimiz ve buzzer’ımız kapalı duruma geçiyor ve yeşil ledimiz yanıyordur. Yeşil ledin yanması güvenli (hırsız yok) anlamına gelmektedir. Eğer bir hırsız girerse ve uyarı verirse sistem buton veya kumanda ile alarmı durdurabiliyoruz. Durdurduktan sonra sistem halen çalışmaya devam ediyor. İkinci bir hırsız uyarısında tekrar çalışacaktır. Devremizi kapatmak için arduino ve lazer modüllerindeki güçleri kesmemiz gerekiyor.

Arduino Kodları

İlk olarak IRremote.h kütüphanemizi ekliyoruz. Daha sonra led1,led2,buzzer,buton pinlerini int türünde bir değişken oluşturarak tanımlıyoruz. Bir adet de control adında int türünde bir değişken oluşturup değerini 0 yapıyoruz. Bu değişken hırsız varsa 1 yoksa 0 olarak yorumlanabilir. “IRrecv irrecv(2);” kodu ile de IR alıcımızın bağlı olduğu pin numarasını (2) tanımlıyoruz ve decode_results türünde bir results değişkeni oluşturuyoruz. “#define TUS 0xHEXKOD ” komutu ile de bir tuş tanımlaması yapıyoruz. Burada HEXKOD yazan yere kumandadan okuduğunuz hex kodunu yazmanız gerekiyor. Örnek olarak koda bakabilirsiniz. 

Setup fonksiyonunda ledlerimizi ve buzzer’ımızı OUTPUT(çıkış) olarak tanımlıyoruz. Buton ve A0(LDR Değer Okuma) pinlerimizi de INPUT(giriş) tanımlıyoruz. Daha sonra IR alıcızı aktif etmek için “irrecv.enableIRIn();” kodunu kullanıyoruz.

Loop fonksiyonunda ilk önce LDR’den bir değer okuyoruz. Okuduğumuz değer 300’den küçükse control değişkenimize 1 değerini aktarıyoruz. Yani 300’den küçükse lazer ışığı kesilmiş demektir. Hırsız olduğu anlamında geliyor. Bu alarmı durdukmak için de buton ve IR alıcıdan değerler okuyoruz. Butona basıldıysa control 0 yapılsın veya kumandadan belirlediğimiz bir tuşa basıldıysa control 0 yapılsın işlemlerini yapan if bloklarımız vardır. En son kısımda ise control==1 ise yani hırsız varsa Led1 (kırmızı) ve buzzer’ı çalıştırıyoruz. Led2(yeşil) ‘yi ise kapatıyoruz. Eğer kontrol 0 ise else bloğuna giriyoruz. Bu kısımda ise tam tersi oluyor yani Yeşil ledimizi yakıp, kırmızı ledimizi ve buzzerımızı kapatıyoruz. 

Control değişkeni ve bu kodumuz sayesinde lazer ışığı 1 sn bile kesilse sürekli olarak uygulamamız alarm veriyordur. Alarmı durdurmak için buton veya kumandadan tuşa basmamız gerekiyor. Sonra alarm kapatılmış oluyor. Tekrar lazer ışığında kesinti olunca uygulamamız alarm verecektir.

// nedrinbarkinoren.com
#include <IRremote.h> 
int Buton=4;
int Led1=9;
int Led2=10;
int BuzzerPin=11;
int control=0;
IRrecv irrecv(2);
decode_results results;
#define TUS 0x1CE3F00F
void setup(){
  irrecv.enableIRIn();
  pinMode(BuzzerPin,OUTPUT);  
  pinMode(Led1,OUTPUT);
  pinMode(Led2,OUTPUT);
  pinMode(Buton,INPUT);
  pinMode(A0,INPUT);
}
void loop(){
  if(analogRead(A0)<300)
    control=1; //Alarm Aç
  if(digitalRead(Buton)==1)
    control=0;  //Alarmı Kapat
  if (irrecv.decode(&results)){  
    if(results.value==TUS)
      control=0; //Alarm Kapat
    irrecv.resume();
  }  
  if(control==1){  //Alarmı Açıksa
    digitalWrite(Led1,HIGH); 
    digitalWrite(BuzzerPin,HIGH); //Uyarıları aç
    digitalWrite(Led2,LOW);
  }
  else{        //Alarm Kapalıysa 
    digitalWrite(Led1,LOW); 
    digitalWrite(BuzzerPin,LOW); //Uyarıları kapat
    digitalWrite(Led2,HIGH);
  }
}

Kodları yazdıktan sonra arduinomuzu bilgisayara bağlayıp yükleme işlemini yapabiliriz. Bu sayede Lazerli Güvenlik Sistemi uygulamamız gerçekleşmiş olacak.

Ben uygulama videosunda pil ve pil yatağı bulunmadığı için arduino kullanarak lazeri 5v ile beslemiş. Siz yaklaşık olarak 5v verebileceğiniz istediğiniz güç kaynağını seçebilirsiniz.

Lazerli Güvenlik Uygulaması yazımı okuduğunuz için teşekkür ederim. Bir sonraki projemizde görüşmek üzere.

Nedrin Barkın ÖREN

Bir Cevap Yazın