Kazalo:

Varnostni sistem telefona z Arduinom: 5 korakov
Varnostni sistem telefona z Arduinom: 5 korakov

Video: Varnostni sistem telefona z Arduinom: 5 korakov

Video: Varnostni sistem telefona z Arduinom: 5 korakov
Video: ПЕРВАЯ СХЕМА НА АРДУИНО [Уроки Arduino #4] 2024, November
Anonim
Telefonski varnostni sistem z Arduinom
Telefonski varnostni sistem z Arduinom

Če ne uporabite tega projekta, bo vaš dom nezaščiten. Ta projekt vam bo pomagal sprožiti alarm prek mobilnega telefona, ko vsiljivec vdre v vaš dom.

Tako boste, če uporabljate ta projekt, prejeli SMS prek mobilnega telefona in lahko zaščitili vaš dom v primeru vdorov.

V ta namen bomo uporabili združljivo ploščo Arduino z modulom SIM800L in senzorjem PIR. Senzor PIR bo odgovoren za zaznavanje prisotnosti vsiljivca, SIM800L pa za pošiljanje opozorilnega SMS -a lastniku doma.

Zaloge

  • Arduino združljiva plošča
  • Senzor PIR
  • Upor 10kR
  • Skakalci
  • Protoboard
  • Modul SIM800L

1. korak: Srce projekta

Srce projekta je modul SIM800L. Ta modul bo lahko prejemal ukaze Arduino in pošiljal SMS na uporabnikov mobilni telefon. Tako lahko uporabnik, ko prejme opozorilo, pokliče policijo ali izvede katero koli drugo vrsto dejanja.

Arduino združljiva plošča bo odgovorna za preverjanje stanja senzorja in bo nato uporabniku poslala opozorilno sporočilo, če zazna prisotnost vsiljivca.

Ta postopek se izvaja zahvaljujoč krmilnim ukazom med Arduinom in modulom SIM800L. Zato vam bomo korak za korakom predstavili gradnjo tega sistema, pustili svoj dom zaščitenega in vas opozorili, ko vanj vdre kakšen vsiljivec.

Če želite prenesti združljivo ploščo Arduino, lahko dostopate do te povezave in dobite datoteke za nakup vaših plošč na JLCPCB.

Zdaj pa začnimo!

2. korak: Elektronsko vezje projekta in programiranje

Elektronsko vezje projekta in programiranje
Elektronsko vezje projekta in programiranje
Elektronsko vezje projekta in programiranje
Elektronsko vezje projekta in programiranje

Najprej bomo dali na voljo elektronsko vezje, nato pa bomo za vas korak za korakom razpravljali o kodi projekta.

#include SoftwareSerialni čip (10, 11);

Niz SeuNumero = "+5585988004783";

#define sensor 12

bool ValorAtual = 0, ValorAnterior = 0;

void setup ()

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

pinMode (senzor, VHOD); // Konfiguracija Pino do senzorja kot Entrada

}

void loop ()

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

če (ValorAtual == 1 && ValorAnterior == 0)

{IntrudeAlert; ValorAnterior = 1; }

če (ValorAtual == 0 && ValorAnterior == 1)

{NoMoreIntrude (); ValorAnterior = 0; }

}

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

{chip.println ("AT+CMGF = 1"); zamuda (1000); chip.println ("AT + CMGS = \" " + SeuNumero +" / "\ r"); zamuda (1000); Niz SMS = "Opozorilo o vdoru!"; chip.println (SMS); zamuda (100); chip.println ((char) 26); zamuda (1000); }

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

{chip.println ("AT+CMGF = 1"); zamuda (1000); chip.println ("AT + CMGS = \" " + SeuNumero +" / "\ r"); zamuda (1000); Niz SMS = "Nič več vdora!"; chip.println (SMS); zamuda (100); chip.println ((char) 26); zamuda (1000); }

V spodnji kodi smo sprva razglasili knjižnico serijske komunikacije SoftwareSerial.h, kot je prikazano spodaj.

#vključi

Po opredelitvi knjižnice so bili definirani komunikacijski zatiči Tx in Rx. Ti zatiči so nadomestni zatiči in se uporabljajo za serijsko komunikacijo na drugih zatičih Arduino. Knjižnica SoftwareSerial je bila razvita, da vam omogoča uporabo programske opreme za podvajanje funkcionalnosti

Programska opremaSerijski čip (10, 11);

Po tem je bila spodaj prikazana številka mobilnega telefona, ki je bila prikazana.

Niz SeuNumero = "+5585988004783";

Shema elektronskega oblikovanja je preprosta in enostavna za sestavljanje. Kot lahko vidite na vezju, je združljiva plošča Arduino odgovorna za branje stanja senzorja in nato pošiljanje SMS -a lastniku doma.

Sporočilo bo poslano, če v hiši odkrijejo vsiljivca. PIR (pasivni infrardeči senzor) je senzor, ki se uporablja za zaznavanje gibanja iz infrardečega signala. Od signala, poslanega na Arduino, bo modul SIM800L uporabniku poslal sporočilo.

Dioda bo uporabljena za zagotovitev padca napetosti za napajanje modula SIM800L. Ker modula ni mogoče napajati s 5V. Na ta način bo napajal vaš modul napetost 4,3 V in zagotovil njegovo varno delovanje.

3. korak: Funkcija nastavitve praznine ()

V funkciji nastavitve praznine bomo inicializirali serijsko komunikacijo in pin senzorja konfigurirali kot vhod. Področje kode je predstavljeno spodaj.

void setup ()

{

Serial.begin (9600); Serial.println ("Inicializando Sistema …"); zamuda (5000); chip.begin (9600); zamuda (1000); pinMode (senzor, VHOD); // Konfiguracija Pino do senzorja kot Entrada}

Kot je mogoče videti, sta bili serijski komunikaciji inicializirani. Serial.begin se uporablja za inicializacijo izvorne serijske enote Arduina, chip.begin pa je serijska serija, emulirana prek knjižnice SoftwareSerial. Po tem bomo za funkcijo void loop.

4. korak: Projekt in funkcija Void Loop

Projekt in funkcija Void Loop
Projekt in funkcija Void Loop
Projekt in funkcija Void Loop
Projekt in funkcija Void Loop

Zdaj bomo predstavili glavno logiko programiranja v funkciji void loop.

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

če (ValorAtual == 1 && ValorAnterior == 0)

{IntrudeAlert ();

ValorAnterior = 1;

}

če (ValorAtual == 0 && ValorAnterior == 1)

{NoMoreIntrude ();

ValorAnterior = 0;

}

}

Najprej se prebere signal senzorja prisotnosti PIR, kot je prikazano spodaj.

ValorAtual = digitalno branje (senzor);

Po tem bo preverjeno, ali je vrednost v spremenljivki ValorAtual 1 ali 0, kot je prikazano spodaj.

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

ValorAnterior = 1;

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

ValorAnterior = 0;

}

Če je spremenljivka ValorAtual enaka 1, spremenljivki ValorAnterior pa 0, je senzor dejansko aktiviran, spredaj pa deaktiviran (ValorAnterior == 0). Na ta način bo funkcija izvedena in uporabnik bo prejel sporočilo na vaš mobilni telefon. Po tem bo vrednost spremenljivke ValorAnterior enaka pri 1.

Na ta način bo spremenljivka ValorAnterior signalizirana, da se aktivira dejansko stanje senzorja.

Zdaj, če je vrednost spremenljivke ValorAtual 0 in je vrednost spremenljivke ValorAnterior enaka pri 0, senzor ne zazna vdora in potem se aktivira njegova vrednost.

Na ta način bo sistem poslal sporočilo za mobilni telefon uporabnika in posodobil dejansko vrednost senzorja za 0. Ta vrednost bo pokazala, da senzor trenutno ne deluje.

Sporočila, ki so bila poslana uporabniku, so predstavljena zgoraj.

Zdaj se bomo naučili, kako uporabljati funkcijo za pošiljanje sporočil za uporabnikov mobilni telefon.

5. korak: Funkcije za pošiljanje sporočil

V tem sistemu obstajata dve funkciji. To so funkcije z enako strukturo. Razlika med njima je ime in poslano sporočilo, ko pa ga analiziramo, bomo videli, da sta popolnoma enaka.

Nato bomo predstavili celotno strukturo funkcij in razpravljali o kodi.

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

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

{chip.println ("AT+CMGF = 1"); zamuda (1000); chip.println ("AT + CMGS = \" " + SeuNumero +" / "\ r"); zamuda (1000); Niz SMS = "Zaprta vrata!"; chip.println (SMS); zamuda (100); chip.println ((char) 26); zamuda (1000); }

Modul SIM800L za nadzor svojih funkcij uporablja ukaz AT. Zato bomo s temi ukazi poslali sporočilo za uporabnikov mobilni telefon.

AT+CGMF = 1 se uporablja za konfiguriranje modula za delo v načinu SMS Text. Po zakasnitvi bo sistem uporabniku poslal sporočilo z naslednjim ukazom.

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

V ukazu bo modul SIM800L pripravljen poslati sporočilo za številko mobilnega telefona, registrirano v nizu SeuNumero. Po tem bo sistem naložil sporočilo v niz in ga poslal po mobilnem telefonu uporabnika, kot je prikazano spodaj.

Niz SMS = "Zaprta vrata!"; chip.println (SMS); zamuda (100); chip.println ((char) 26); zamuda (1000);

Znak (26) se uporablja za signalizacijo konca sporočila. Ta delovni postopek je podoben za dve funkciji, ki uporabniku pošljeta sporočilo.

Zahvala

Zdaj cenimo podporo JLCPCB pri izvajanju tega dela in, če vas zanima, pojdite na naslednjo povezavo in prenesite združljivo ploščo Arduino.

Priporočena: