Yedek Pil Devresi ile Arduino Güvenlik Alarmı

2018-05-22



Bu projede kuzenimin ofisi için bir güvenlik alarmı tasarladım. Kapıdan gelen hareketi algılagılıyor. SIM800L kullanıyorum. Sisteme "Kapa" yazdığınızda sistem kilitleniyor ve kapıdan herhangi bir hareket algılanırsa telefonunuza SMS gönderiyor. Ayrıca herhangi bir elektrik kesintisi için yedek pil devresi kullanıyorum. Çok basit ve etkili devre için bu projeye teşekkürler!. ( https://www.instructables.com/id/Arduino-Mains-Failure-Battery-Backup-Circuit/) Hafta sonu yapılacak çok küçük ve güzel bir proje.

#include <SoftwareSerial.h>

SoftwareSerial sim(10, 11); 

String number = "YOUR PHONE";
char deneme[500] = "";

bool check_lock = false;
uint8_t smscount = 0;

void setup() {

  Serial.begin(9600);
  pinMode(2,INPUT_PULLUP);
  sim.begin(4800);
  delay(3000);
  sim.println("AT+CMGF=1");
  delay(1000);
  sim.println("AT+CNMI=1,2,0,0");
  delay(1000);

}

void loop() {

  if(check_lock && (int)digitalRead(2)){
      SendMessage();   
  }

  if(sim.available())
  {
    Grsp = sim.readString();
    Grsp.toCharArray(deneme,350);
    for(int i=0;i<strlen(deneme);i++){
        deneme[i] = toupper(deneme[i]);
        Serial.println(deneme[i]);
    }

    if(strstr(deneme,"AC")!= NULL){
        Serial.println("Sistem Kilidi Acildi");
        check_lock = false;
      }
    if(strstr(deneme,"KAPA")!= NULL){
        Serial.println("Sistem Kilitlendi");
        check_lock= true;  
    }     
  }
}

void SendMessage()
{
  if(smscount < 3){
  sim.println("AT+CMGF=1");    
  delay(1000);
  sim.println("AT+CMGS=\"" + number + "\"\r");
  delay(1000);
  sim.print("ALARM");
  delay(1000);
  sim.println((char)26);
  smscount++;
  }
  else{
    check_lock = false;
  }
}