Sadržaj:

Sigurnosni sistem telefona sa Arduinom: 5 koraka
Sigurnosni sistem telefona sa Arduinom: 5 koraka

Video: Sigurnosni sistem telefona sa Arduinom: 5 koraka

Video: Sigurnosni sistem telefona sa Arduinom: 5 koraka
Video: Как очистить телефон от ВИРУСОВ/Быстрый/Простой способ😱😱😱 2024, Novembar
Anonim
Sigurnosni sistem telefona sa Arduinom
Sigurnosni sistem telefona sa Arduinom

Vaš dom neće biti zaštićen ako ne primijenite ovaj projekt. Ovaj projekt će vam pomoći da aktivirate alarm putem mobitela kada uljez provali u vaš dom.

Na taj način, ako koristite ovaj projekt, primit ćete SMS putem mobilnog telefona i moći ćete zaštititi svoj dom u slučaju invazije.

Za to ćemo koristiti Arduino kompatibilnu ploču sa modulom SIM800L i PIR senzorom. PIR senzor će biti odgovoran za otkrivanje prisutnosti uljeza, a SIM800L će biti odgovoran za slanje upozoravajućeg SMS -a vlasniku kuće.

Supplies

  • Arduino kompatibilna ploča
  • Senzor PIR
  • Otpornik 10kR
  • Džemperi
  • Protoboard
  • Modul SIM800L

Korak 1: Srce projekta

Srce projekta je modul SIM800L. Ovaj modul će moći primati Arduino naredbe i slati SMS na korisnikov mobitel. Na taj način, kada korisnik primi upozorenje, može pozvati policiju ili izvršiti bilo koju drugu vrstu radnje.

Arduino kompatibilna ploča bit će odgovorna za provjeru stanja senzora, a zatim će poslati poruku upozorenja korisniku ako otkrije prisutnost uljeza.

Ovaj proces se provodi zahvaljujući upravljačkim naredbama između Arduina i modula SIM800L. Stoga ćemo vas korak po korak upoznati sa izgradnjom ovog sistema, ostaviti svoj dom zaštićenim i upozoriti vas kad god uljez uđe u njega.

Ako želite preuzeti Arduino kompatibilnu ploču, možete pristupiti ovoj vezi i preuzeti datoteke za kupovinu ploča na JLCPCB.

Sada, počnimo!

Korak 2: Elektronsko kolo projekta i programiranje

Elektronsko kolo projekta i programiranje
Elektronsko kolo projekta i programiranje
Elektronsko kolo projekta i programiranje
Elektronsko kolo projekta i programiranje

Prvo ćemo učiniti dostupnim elektroničko kolo, a zatim ćemo za vas razgovarati o kodu projekta korak po korak.

#include SoftwareSerial chip (10, 11);

Niz SeuNumero = "+5585988004783";

#definirajte senzor 12

bool ValorAtual = 0, ValorAnterior = 0;

void setup ()

{Serial.begin (9600); Serial.println ("Inicializando Sistema …"); kašnjenje (5000); chip.begin (9600); kašnjenje (1000);

pinMode (senzor, ULAZ); // Konfiguracija Pino do senzora za Entrada

}

void loop ()

{// Le valor do pino do sensor ValorAtual = digitalRead (senzor);

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

{IntrudeAlert; ValorAnterior = 1; }

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

{NoMoreIntrude (); ValorAnterior = 0; }

}

void IntrudeAlert () // Funcao para enviar mensagem de alertta Umidade Baixa

{chip.println ("AT+CMGF = 1"); kašnjenje (1000); chip.println ("AT + CMGS = \" " + SeuNumero +" / "\ r"); kašnjenje (1000); String SMS = "Upozorenje o upadu!"; chip.println (SMS); kašnjenje (100); chip.println ((char) 26); kašnjenje (1000); }

void NoMoreIntrude () // Funcao para enviar mensagem de alertta Umidade Normal

{chip.println ("AT+CMGF = 1"); kašnjenje (1000); chip.println ("AT + CMGS = \" " + SeuNumero +" / "\ r"); kašnjenje (1000); String SMS = "Nema više upada!"; chip.println (SMS); kašnjenje (100); chip.println ((char) 26); kašnjenje (1000); }

U kodu prikazanom ispod, u početku smo deklarirali biblioteku serijske komunikacije SoftwareSerial.h, kao što je prikazano u nastavku.

#include

Nakon definiranja biblioteke, definirani su komunikacijski pinovi Tx i Rx. Ovi pinovi su alternativni pinovi i koriste se za omogućavanje serijske komunikacije na drugim Arduino pinovima. Biblioteka SoftwareSerial razvijena je kako bi vam omogućila korištenje softvera za repliciranje funkcionalnosti

SoftwareSerijski čip (10, 11);

Nakon toga je broj mobilnog telefona proglašen koji je prikazan ispod.

Niz SeuNumero = "+5585988004783";

Shema elektroničkog dizajna jednostavna je i laka za sastavljanje. Kao što možete vidjeti na krugu, Arduino kompatibilna ploča odgovorna je za čitanje statusa senzora i zatim slanje SMS -a vlasniku kuće.

Poruka će biti poslana ako se u kući otkrije uljez. PIR (pasivni infracrveni) senzor je senzor koji se koristi za detekciju kretanja iz infracrvenog signala. Od signala poslanog na Arduino, SIM800L modul će poslati poruku korisniku.

Dioda će se koristiti za osiguravanje pada napona za napajanje modula SIM800L. Budući da se modul ne može napajati s 5V. Na ovaj način će napon od 4,3 V stići na napajanje vašeg modula i osigurati da radi ispravno.

Korak 3: Funkcija postavljanja praznine ()

U funkciji postavljanja void -a inicirat ćemo serijsku komunikaciju i konfigurirati pin senzora kao ulaz. Područje koda prikazano je u nastavku.

void setup ()

{

Serial.begin (9600); Serial.println ("Inicializando Sistema …"); kašnjenje (5000); chip.begin (9600); kašnjenje (1000); pinMode (senzor, ULAZ); // Konfiguracija Pino do senzora za Entrada}

Kao što se može vidjeti, dvije serijske komunikacije su inicijalizirane. Serial.begin se koristi za inicijalizaciju izvorne serije Arduina, a chip.begin je serija emulirana kroz biblioteku SoftwareSerial. Nakon toga ćemo za funkciju void loop.

Korak 4: Projekt i funkcija void petlje

Projekt i funkcija petlje praznine
Projekt i funkcija petlje praznine
Projekt i funkcija petlje praznine
Projekt i funkcija petlje praznine

Sada ćemo predstaviti glavnu logiku programiranja u funkciji void loop.

void loop () {// Le valor do pino do sensor ValorAtual = digitalRead (sensor);

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

{IntrudeAlert ();

ValorAnterior = 1;

}

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

{NoMoreIntrude ();

ValorAnterior = 0;

}

}

Prvo će se očitati signal sa PIR senzora prisutnosti kao što je prikazano ispod.

ValorAtual = digitalRead (senzor);

Nakon toga će se provjeriti je li vrijednost u varijabli ValorAtual 1 ili 0, kao što je prikazano u nastavku.

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

ValorAnterior = 1;

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

ValorAnterior = 0;

}

U slučaju da je varijabla ValorAtual 1, a varijabla ValorAnterior 0, senzor je zapravo aktiviran, a sprijeda je deaktiviran (ValorAnterior == 0). Na taj način će se funkcija izvršiti i korisnik će primiti poruku na vaš mobitel. Nakon toga, vrijednost varijable ValorAnterior bit će jednaka 1.

Na ovaj način, varijabla ValorAnterior će biti signalizirana da se aktivira stvarno stanje senzora.

Sada, ako je vrijednost varijable ValorAtual 0, a vrijednost varijable ValorAnterior jednaka 0, senzor ne otkriva upad, a zatim se aktivira njezina vrijednost.

Na ovaj način, sistem će poslati poruku za mobilni telefon korisnika i ažurirat će stvarnu vrijednost senzora za 0. Ova vrijednost će pokazati da senzor trenutno nije aktiviran.

Poruke koje su poslane korisniku predstavljene su gore.

Sada ćemo naučiti kako funkcionirati funkcija slanja poruka za korisnikov mobitel.

Korak 5: Funkcije za slanje poruka

U ovom sistemu postoje dvije funkcije. To su funkcije iste strukture. Razlika između njih je ime i poslana poruka, ali kad to analiziramo, vidjet ćemo da su potpuno isti.

Zatim ćemo predstaviti kompletnu strukturu funkcija i razgovarati o kodu.

void IntrudeAlert () // Funcao para enviar mensagem de alertta Umidade Baixa {chip.println ("AT+CMGF = 1"); kašnjenje (1000); chip.println ("AT + CMGS = \" " + SeuNumero +" / "\ r"); kašnjenje (1000); String SMS = "Otvorena vrata!"; chip.println (SMS); kašnjenje (100); chip.println ((char) 26); kašnjenje (1000); }

void NoMoreIntrude () // Funcao para enviar mensagem de alertta Umidade Normal

{chip.println ("AT+CMGF = 1"); kašnjenje (1000); chip.println ("AT + CMGS = \" " + SeuNumero +" / "\ r"); kašnjenje (1000); String SMS = "Zatvorena vrata!"; chip.println (SMS); kašnjenje (100); chip.println ((char) 26); kašnjenje (1000); }

Modul SIM800L koristi AT naredbu za kontrolu svojih funkcija. Stoga ćemo putem ovih naredbi poslati poruku za korisnikov mobitel.

AT+CGMF = 1 se koristi za konfiguriranje modula za rad u SMS tekstualnom načinu. Nakon kašnjenja, sistem će poslati poruku korisniku putem sljedeće naredbe.

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

U naredbi će modul SIM800L biti spreman za slanje poruke za broj mobitela registriran u nizu SeuNumero. Nakon toga, sistem će učitati poruku u niz i poslati je na mobilni telefon korisnika, kao što je prikazano u nastavku.

String SMS = "Zatvorena vrata!"; chip.println (SMS); kašnjenje (100); chip.println ((char) 26); kašnjenje (1000);

Char (26) se koristi za signalizaciju kraja poruke. Ovaj radni proces je sličan za dvije funkcije za slanje poruke korisniku.

Zahvalnice

Sada cijenimo podršku JLCPCB -a u izvođenju ovog posla i, ako ste zainteresirani, pristupite sljedećoj vezi i preuzmite Arduino kompatibilnu ploču.

Preporučuje se: