Kazalo:
- Zaloge
- 1. korak: Srce projekta
- 2. korak: Elektronsko vezje projekta in programiranje
- 3. korak: Funkcija nastavitve praznine ()
- 4. korak: Projekt in funkcija Void Loop
- 5. korak: Funkcije za pošiljanje sporočil
Video: Varnostni sistem telefona z Arduinom: 5 korakov
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:04
Č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
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
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:
Domači varnostni sistem z uporabo senzorja Fusion: 5 korakov
Domači varnostni sistem z uporabo senzorja Fusion: Zamisel tega projekta je ustvariti poceni in enostavno izdelano varnostno tipalo, ki vas lahko uporabi za opozarjanje, ko ga je nekdo prestopil. Prvotni cilj je bil ustvariti nekaj, kar bi me lahko obvestilo, ko bi nekdo stopil po stopnicah, a tudi jaz
Elektronski varnostni sistem z RTC in uporabniško določeno pin kodo: 7 korakov
Elektronski varnostni sistem z RTC in uporabniško definirano PIN kodo: Pozdravljeni, fantje! To je projekt, ki sem ga naredil s pomočjo mikrokrmilnika pic, njegovega elektronskega varnostnega sistema za kodo PIN z uro v realnem času in funkcijami, ki jih definirajo uporabniki. Ta stran vsebuje vse podrobnosti, ki jih lahko naredite sami
Varnostni sistem ključa DIY-Fingerprint Key: 8 korakov
Varnostni sistem za ključe DIY-Fingerprint Key: Ta aplikacija je uporabna za varovanje vsakodnevnih ključev (ključavnica). Včasih imamo nekaj običajnih ključev, kot so dom, garaža, parkiranje med dvema ali več ljudmi. Na trgu so na voljo številni biometrični sistemi, ki lahko
Laserski varnostni alarmni sistem (Dvojni način): 5 korakov
Laserski varnostni alarmni sistem (DUALNI NAČIN): Ko pride do varnosti, vsekakor potrebujemo trdno idejo in v tem primeru je laserski varnostni alarm najboljša možnost za ustvarjanje doma na zelo enostaven način. Zato se bomo v tej vadnici naučili, kako narediti ta projekt na zelo enostaven način
Samodejni laserski nadzorni varnostni sistem: 22 korakov
Samodejni varnostni sistem z laserskim nadzorom: Varnostni sistem z laserskim nadzorom je široko uporabljena zaščita za preprečevanje nepooblaščenega dostopa. Je zelo učinkovit, ki deluje na svetlobnem senzorju in laserju za zaščito naših domov, pisarn, bank, omaric in različnih pomembnih plošč