Sadržaj:

Sigurnosni sustav telefona s Arduinom: 5 koraka
Sigurnosni sustav telefona s Arduinom: 5 koraka

Video: Sigurnosni sustav telefona s Arduinom: 5 koraka

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

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

Na taj ćete način, ako koristite ovaj projekt, primiti SMS putem mobitela i moći će zaštititi vaš dom u slučaju invazije.

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

Pribor

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

Korak 1: Srce projekta

Srce projekta je modul SIM800L. Ovaj modul moći će primati Arduino naredbe i slati SMS na korisnikov mobitel. Na taj način, kada korisnik primi upozorenje, može nazvati 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 s izgradnjom ovog sustava, 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 kupnju ploča na JLCPCB.

Ajmo sad!

Korak 2: Elektronički krug projekta i programiranje

Elektronički krug projekta i programiranje
Elektronički krug projekta i programiranje
Elektronički krug projekta i programiranje
Elektronički krug projekta i programiranje

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

#include SoftwareSerial čip (10, 11);

Niz SeuNumero = "+5585988004783";

#odredi 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 o Pino do Sensor como Entrada

}

void loop ()

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

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); Niz SMS = "Upozorenje o upadu!"; čip.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); Niz SMS = "Nema više upada!"; čip.println (SMS); kašnjenje (100); chip.println ((char) 26); kašnjenje (1000); }

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

#uključi

Nakon definiranja knjižnice definirani su komunikacijski pinovi Tx i Rx. Ove pinove su zamjenske pinove i koriste se za omogućavanje serijske komunikacije na drugim Arduino pinovima. Knjižnica SoftwareSerial razvijena je kako bi vam omogućila korištenje softvera za repliciranje funkcionalnosti

SoftwareSerijski čip (10, 11);

Nakon toga, broj mobitela proglašen 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, modul SIM800L ć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 taj će način napon od 4,3 V stići na napajanje vašeg modula i osigurati njegov siguran rad.

Korak 3: Funkcija postavljanja praznine ()

U funkciji postavljanja praznine inicirat ćemo serijsku komunikaciju i konfigurirati pin osjetnika 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}

Kako je moguće vidjeti, dvije serijske komunikacije su inicijalizirane. Serial.begin se koristi za inicijalizaciju izvorne serijske jedinice Arduina, a chip.begin je serijska serija emulirana kroz biblioteku SoftwareSerial. Nakon toga ćemo za funkciju void loop.

Korak 4: Projekt i funkcija void petlje

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

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

void loop () {// Le o 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 s PIR senzora prisutnosti kao što je prikazano u nastavku.

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 taj način, varijabla ValorAnterior bit će 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 taj će način sustav poslati poruku za mobitel 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 raditi s funkcijom slanja poruka za korisnikov mobitel.

Korak 5: Funkcije za slanje poruka

U ovom sustavu 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 cjelovitu strukturu funkcija i raspravljati 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); Niz SMS = "Otvorena vrata!"; čip.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); Niz SMS = "Zatvorena vrata!"; čip.println (SMS); kašnjenje (100); chip.println ((char) 26); kašnjenje (1000); }

Modul SIM800L koristi AT naredbu za upravljanje svojim funkcijama. Stoga ćemo ovim naredbama poslati poruku za korisnikov mobitel.

AT+CGMF = 1 koristi se za konfiguriranje modula za rad u SMS tekstualnom načinu. Nakon odgode, sustav ć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, sustav će učitati poruku u niz i poslati je na korisnikov mobitel, kao što je prikazano u nastavku.

Niz SMS = "Zatvorena vrata!"; čip.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čeni: