İçindekiler:

Arduino ile Telefon Güvenlik Sistemi: 5 Adım
Arduino ile Telefon Güvenlik Sistemi: 5 Adım

Video: Arduino ile Telefon Güvenlik Sistemi: 5 Adım

Video: Arduino ile Telefon Güvenlik Sistemi: 5 Adım
Video: Arduino Nedir? Nasıl Kurulur ve Neler Yapılabilir? #1 2024, Kasım
Anonim
Arduino ile Telefon Güvenlik Sistemi
Arduino ile Telefon Güvenlik Sistemi

Bu projeyi uygulamazsanız eviniz korumasız kalacaktır. Bu proje, bir davetsiz misafir evinize girdiğinde cep telefonu aracılığıyla bir alarmı tetiklemenize yardımcı olacaktır.

Böylece bu projeyi kullanırsanız cep telefonuna SMS gelecek ve herhangi bir istila durumunda evinizi koruma altına alabileceksiniz.

Bunun için SIM800L Modülü ve PIR Sensörü ile Arduino Uyumlu Kart kullanacağız. PIR sensörü, bir davetsiz misafirin varlığını tespit etmekten sorumlu olacak ve SIM800L, ev sahibine bir uyarı SMS'i göndermekten sorumlu olacaktır.

Gereçler

  • Arduino Uyumlu Kart
  • Sensör PIR
  • Direnç 10kR
  • Süveterler
  • protokol
  • SIM800L Modülü

Adım 1: Projenin Kalbi

Projenin kalbi SIM800L modülüdür. Bu modül Arduino komutlarını alabilecek ve kullanıcının cep telefonuna SMS gönderebilecektir. Bu şekilde, kullanıcı uyarıyı aldığında polisi arayabilir veya başka bir işlem gerçekleştirebilir.

Arduino Uyumlu Kart, sensörün durumunu kontrol etmekten sorumlu olacak ve daha sonra bir davetsiz misafirin varlığını tespit ederse kullanıcıya bir uyarı mesajı gönderecektir.

Bu işlem Arduino ile SIM800L Modülü arasındaki kontrol komutları sayesinde gerçekleştirilir. Bu nedenle, bu sistemi kurmanız, evinizi koruma altında bırakmanız ve herhangi bir davetsiz misafir geldiğinde sizi uyarmanız için sizi adım adım tanıtacağız.

Arduino Uyumlu Anakartı indirmek isterseniz bu bağlantıya ulaşabilir ve panolarınızı satın almak için JLCPCB'den dosyalara ulaşabilirsiniz.

Şimdi başlayalım!

Adım 2: Proje Elektronik Devresi ve Programlama

Proje Elektronik Devresi ve Programlama
Proje Elektronik Devresi ve Programlama
Proje Elektronik Devresi ve Programlama
Proje Elektronik Devresi ve Programlama

Önce elektronik devreyi kullanıma hazır hale getireceğiz, ardından proje kodunu adım adım sizler için tartışacağız.

#include SoftwareSerial chip(10, 11);

String SeuNumero = "+5585988004783";

#define sensörü 12

bool ValorAtual = 0, ValorAnterior = 0;

geçersiz kurulum()

{ Serial.başlangıç(9600); Serial.println("Inicializando Sistema…"); gecikme (5000); chip.begin(9600); gecikme(1000);

pinMode(sensör, GİRİŞ); //Konfigürasyon o Pino do Sensor como Entrada

}

boşluk döngüsü()

{ //Le o valor do pino do sensor ValorAtual = digitalRead(sensör);

if(ValorAtual == 1 && ValorAnterior == 0)

{ Davetsiz Misafir Uyarısı; ValorAnterior = 1; }

if(ValorAtual == 0 && ValorAnterior == 1)

{ NoMoreIntrude(); ValorAnterior = 0; }

}

void IntrudeAlert() //Umidade Baixa'nın en büyük uyarısı

{ chip.println("AT+CMGF=1"); gecikme(1000); chip.println("AT+CMGS=\"" + SeuNumero + "\"\r"); gecikme(1000); String SMS = "İzinsiz Giriş Uyarısı!"; chip.println(SMS); gecikme(100); chip.println((char)26); gecikme(1000); }

void NoMoreIntrude()//Umidade Normal

{ chip.println("AT+CMGF=1"); gecikme(1000); chip.println("AT+CMGS=\"" + SeuNumero + "\"\r"); gecikme(1000); String SMS = "Artık İzinsiz Giriş Yok!"; chip.println(SMS); gecikme(100); chip.println((char)26); gecikme(1000); }

Aşağıda gösterilen kodda, başlangıçta aşağıda gösterildiği gibi SoftwareSerial.h seri iletişim kitaplığını açıkladık.

#Dahil etmek

Kütüphane tanımlandıktan sonra iletişim pinleri Tx ve Rx tanımlandı. Bu pinler alternatif pinlerdir ve diğer Arduino pinlerinde seri iletişime izin vermek için kullanılır. SoftwareSerial kitaplığı, işlevselliği çoğaltmak için yazılımı kullanmanıza izin vermek için geliştirilmiştir.

YazılımSeri çip(10, 11);

Bunun ardından beyan edilen cep telefonu numarası aşağıda gösterilmiştir.

String SeuNumero = "+5585988004783";

Elektronik tasarım şeması basit ve montajı kolaydır. Devrede görebileceğiniz gibi Arduino Uyumlu Kart, sensör durumunu okumak ve ardından ev sahibine SMS göndermekle sorumludur.

Evin içinde bir davetsiz misafir algılanırsa mesaj gönderilecektir. PIR (Pasif Kızılötesi) Sensör, kızılötesi sinyalden hareketi algılamak için kullanılan bir sensördür. Arduino'ya gönderilen sinyalden SIM800L modülü kullanıcıya bir mesaj gönderecektir.

Diyot, SIM800L modülünü beslemek için bir voltaj düşüşü sağlamak için kullanılacaktır. Modül 5V ile çalıştırılamadığından. Bu sayede modülünüze güç sağlamak ve güvenli bir şekilde çalışmasını sağlamak için 4.3V'luk bir voltaj gelecektir.

Adım 3: Void Setup() İşlevi

Void setup fonksiyonunda seri iletişimi başlatacağız ve sensör pinini giriş olarak konfigüre edeceğiz. Kodun bölgesi aşağıda sunulmuştur.

geçersiz kurulum()

{

Seri.başla(9600); Serial.println("Inicializando Sistema…");delay(5000); chip.begin(9600); gecikme(1000); pinMode(sensör, GİRİŞ); //Konfigürasyon o Pino do Sensor komo Entrada }

Görüldüğü gibi iki seri iletişim başlatıldı. Serial.begin, Arduino'nun yerel serisini başlatmak için kullanılır ve chip.begin, SoftwareSerial kitaplığı aracılığıyla öykünülmüş seridir. Bundan sonra, void döngü işlevi için yapacağız.

Adım 4: Proje ve Void Loop Fonksiyonu

Proje ve Void Loop Fonksiyonu
Proje ve Void Loop Fonksiyonu
Proje ve Void Loop Fonksiyonu
Proje ve Void Loop Fonksiyonu

Şimdi void loop fonksiyonunda programlamanın ana mantığını sunacağız.

void loop(){ //Le o valor do pino do sensor ValorAtual = digitalRead(sensör);

if(ValorAtual == 1 && ValorAnterior == 0)

{ IntrudeAlert();

ValorAnterior = 1;

}

if(ValorAtual == 0 && ValorAnterior == 1)

{ NoMoreIntrude();

ValorÖn = 0;

}

}

İlk olarak, PIR varlık sensöründen gelen sinyal aşağıda gösterildiği gibi okunacaktır.

ValorAtual = digitalRead(sensör);

Bundan sonra, aşağıda gösterildiği gibi ValorAtual değişkenindeki değerin 1 veya 0 olup olmadığı doğrulanacaktır.

if(ValorAtual == 1 && ValorAnterior == 0) { IntrudeAlert();

ValorAnterior = 1;

} if(ValorAtual == 0 && ValorAnterior == 0) { NoMoreIntrude();

ValorÖn = 0;

}

ValorAtual değişkeninin 1 ve ValorAnterior değişkenlerinin 0 olması durumunda, sensör fiilen etkinleştirilir ve ön tarafta devre dışı bırakılır (ValorAnterior == 0). Bu şekilde fonksiyon yürütülecek ve kullanıcı mesajı cep telefonunuza alacaktır. Bundan sonra ValorAnterior değişkeninin değeri 1'e eşit olacaktır.

Bu şekilde, ValorAnterior değişkeni, sensörün gerçek durumunun etkinleştirildiğini bildirecektir.

Şimdi, ValorAtual değişkeninin değeri 0 ve ValorAnterior değişkeninin değeri 0 olduğunda, sensör izinsiz girişi algılamaz ve ardından değeri etkinleştirilir.

Bu şekilde sistem kullanıcının cep telefonuna mesaj gönderecek ve sensörün gerçek değerini 0 olarak güncelleyecektir. Bu değer sensörün o an aktif olmadığını gösterecektir.

Kullanıcıya gönderilen mesajlar yukarıda sunulmuştur.

Şimdi, kullanıcının cep telefonuna mesaj gönderme işlevinin nasıl çalışacağını öğreneceğiz.

Adım 5: Mesaj Gönderme İşlevleri

Bu sistemde iki fonksiyon vardır. Aynı yapıya sahip fonksiyonlardır. Aralarındaki fark isim ve gönderilen mesajdır ama incelediğimizde tamamen aynı olduklarını göreceğiz.

Daha sonra, fonksiyonların tam yapısını sunacağız ve kodu tartışacağız.

void IntrudeAlert() //Umidade Baixa'yı takip etmek için gerekli uyarıları içerir{ chip.println("AT+CMGF=1"); gecikme(1000); chip.println("AT+CMGS=\"" + SeuNumero + "\"\r"); gecikme(1000); String SMS = "Kapı Açıldı!"; chip.println(SMS); gecikme(100); chip.println((char)26); gecikme(1000); }

void NoMoreIntrude()//Umidade Normal

{ chip.println("AT+CMGF=1"); gecikme(1000); chip.println("AT+CMGS=\"" + SeuNumero + "\"\r"); gecikme(1000); String SMS = "Kapalı Kapı!"; chip.println(SMS); gecikme(100); chip.println((char)26); gecikme(1000); }

SIM800L Modülü, işlevlerini kontrol etmek için AT Komutunu kullanır. Bu nedenle, bu komutlar aracılığıyla kullanıcının cep telefonuna mesaj göndereceğiz.

AT+CGMF = 1, modülü SMS Metin modunda çalışacak şekilde yapılandırmak için kullanılır. Gecikme sonrasında sistem aşağıdaki komut ile kullanıcıya mesaj gönderecektir.

chip.println("AT+CMGS=\"" + SeuNumero + "\"\r");

Komutta, SIM800L modülü, SeuNumero dizisinde kayıtlı cep telefonu numarası için bir mesaj göndermek üzere hazırlanacaktır. Bundan sonra, sistem mesajı diziye yükleyecek ve aşağıda gösterildiği gibi kullanıcının cep telefonuna gönderecektir.

String SMS = "Kapalı Kapı!"; chip.println(SMS); gecikme(100); chip.println((char)26); gecikme(1000);

Char(26), mesajın sonunu belirtmek için kullanılır. Bu çalışma süreci, kullanıcıya bir mesaj göndermek için iki fonksiyon için benzerdir.

Teşekkür

Şimdi, bu çalışmayı yürütmek için JLCPCB'nin desteğini takdir ediyoruz ve ilgileniyorsanız, aşağıdaki bağlantıya erişin ve Arduino Uyumlu Anakartı indirin.

Önerilen: