Turinys:
- Prekės
- 1 žingsnis: projekto širdis
- 2 žingsnis: projekto elektroninė grandinė ir programavimas
- 3 veiksmas: funkcija „Tuštumos nustatymas“()
- 4 žingsnis: projektas ir „Void Loop“funkcija
- 5 veiksmas: pranešimų siuntimo funkcijos
Video: Telefono apsaugos sistema su „Arduino“: 5 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:45
Jei netaikysite šio projekto, jūsų namai bus neapsaugoti. Šis projektas padės jums suaktyvinti aliarmą mobiliuoju telefonu, kai įsibrovėlis įsibrauna į jūsų namus.
Tokiu būdu, jei naudosite šį projektą, gausite SMS žinutę mobiliuoju telefonu ir galėsite apsaugoti savo namus invazijos atveju.
Tam naudosime „Arduino“suderinamą plokštę su SIM800L moduliu ir PIR jutikliu. PIR jutiklis bus atsakingas už įsibrovėlio aptikimą, o SIM800L - už įspėjimo SMS siuntimą namų savininkui.
Prekės
- „Arduino“suderinama lenta
- PIR jutiklis
- Rezistorius 10kR
- Džemperiai
- Protoboard
- SIM800L modulis
1 žingsnis: projekto širdis
Projekto esmė - SIM800L modulis. Šis modulis galės priimti „Arduino“komandas ir siųsti SMS į vartotojo mobilųjį telefoną. Tokiu būdu vartotojas, gavęs įspėjimą, gali paskambinti policijai arba atlikti bet kokį kitą veiksmą.
„Arduino“suderinama valdyba bus atsakinga už jutiklio būsenos tikrinimą ir tada, jei aptiks įsibrovėlį, vartotojui atsiųs įspėjimo pranešimą.
Šis procesas atliekamas dėl valdymo komandų tarp „Arduino“ir SIM800L modulio. Todėl nuo to mes žingsnis po žingsnio supažindinsime jus su šios sistemos kūrimu, apsaugosite namus ir įspėsime jus, kai į ją įsiveržia bet koks įsibrovėlis.
Jei norite atsisiųsti „Arduino“suderinamą plokštę, galite pasiekti šią nuorodą ir gauti failus, kad galėtumėte nusipirkti plokštes JLCPCB.
Dabar pradėkime!
2 žingsnis: projekto elektroninė grandinė ir programavimas
Pirma, mes padarysime prieinamą elektroninę grandinę ir tada žingsnis po žingsnio aptarsime jums projekto kodą.
#include SoftwareSerial chip (10, 11);
Styga SeuNumero = "+5585988004783";
#define jutiklis 12
bool ValorAtual = 0, ValorAnterior = 0;
negaliojanti sąranka ()
{Serial.begin (9600); Serial.println („Inicializando Sistema…“); vėlavimas (5000); lustas.pradis (9600); vėlavimas (1000);
pinMode (jutiklis, Įvestis); // Configura o Pino do Sensor como Entrada
}
tuštumos kilpa ()
{// Le o valor do pino do sensor ValorAtual = digitalRead (sensor);
jei (ValorAtual == 1 && ValorAnterior == 0)
{IntrudeAlert; ValorAnterior = 1; }
jei (ValorAtual == 0 && ValorAnterior == 1)
{NoMoreIntrude (); ValorAnterior = 0; }
}
void IntrudeAlert () // Funcao para enviar mensagem de alerta Umidade Baixa
{chip.println ("AT+CMGF = 1"); vėlavimas (1000); chip.println ("AT + CMGS = \" " + SeuNumero +" / "\ r"); vėlavimas (1000); String SMS = "Įspėjimas!"; lustas.println (SMS); vėlavimas (100); lustas.println ((char) 26); vėlavimas (1000); }
void NoMoreIntrude () // Funcao para enviar mensagem de alerta Umidade Normal
{chip.println ("AT+CMGF = 1"); vėlavimas (1000); chip.println ("AT + CMGS = \" " + SeuNumero +" / "\ r"); vėlavimas (1000); Styginių SMS = "Daugiau nebesikišti!"; lustas.println (SMS); vėlavimas (100); lustas.println ((char) 26); vėlavimas (1000); }
Toliau pateiktame kode iš pradžių paskelbėme serijinės komunikacijos biblioteką „SoftwareSerial.h“, kaip parodyta žemiau.
#įtraukti
Apibrėžus biblioteką, buvo apibrėžti ryšio kaiščiai Tx ir Rx. Šie kaiščiai yra alternatyvūs kaiščiai ir yra naudojami siekiant užtikrinti serijinį ryšį su kitais „Arduino“kaiščiais. „SoftwareSerial“biblioteka buvo sukurta tam, kad galėtumėte naudoti programinę įrangą funkcionalumui atkurti
Programinė įranga Serijos lustas (10, 11);
Po to buvo paskelbtas mobiliojo telefono numeris, rodomas žemiau.
Styga SeuNumero = "+5585988004783";
Elektroninio dizaino schema yra paprasta ir lengvai surenkama. Kaip matote grandinėje, „Arduino“suderinama plokštė yra atsakinga už jutiklio būsenos nuskaitymą ir tada SMS siuntimą namų savininkui.
Pranešimas bus išsiųstas, jei namuose bus aptiktas įsibrovėlis. PIR (pasyvus infraraudonųjų spindulių) jutiklis yra jutiklis, naudojamas infraraudonųjų spindulių signalo judėjimui aptikti. Iš „Arduino“siunčiamo signalo SIM800L modulis vartotojui atsiųs pranešimą.
Diodas bus naudojamas įtampai sumažinti, kad būtų galima tiekti SIM800L modulį. Kadangi modulis negali būti maitinamas 5 V įtampa. Tokiu būdu 4,3 V įtampa pateks į jūsų modulį ir užtikrins, kad jis veiks saugiai.
3 veiksmas: funkcija „Tuštumos nustatymas“()
Naudodami tuštumos nustatymo funkciją, inicijuosime nuoseklųjį ryšį ir sukonfigūruosime jutiklio kaištį kaip įvestį. Žemiau pateikiamas kodo regionas.
negaliojanti sąranka ()
{
Serial.begin (9600); Serial.println ("Inicializando Sistema …"); uždelsimas (5000); lustas.pradis (9600); vėlavimas (1000); pinMode (jutiklis, Įvestis); // „Configura o Pino do Sensor como Entrada“}
Kaip matote, abu serijiniai ryšiai buvo inicijuoti. „Serial.begin“naudojamas inicijuoti vietinę „Arduino“seriją ir lustą. Pradžia yra serija, emuliuota per „SoftwareSerial“biblioteką. Po to mes atliksime tuštumos ciklo funkciją.
4 žingsnis: projektas ir „Void Loop“funkcija
Dabar mes pristatysime pagrindinę programavimo logiką tuštumos ciklo funkcijoje.
void loop () {// Le o valor do pino do sensor ValorAtual = digitalRead (sensor);
jei (ValorAtual == 1 && ValorAnterior == 0)
{IntrudeAlert ();
ValorAnterior = 1;
}
jei (ValorAtual == 0 && ValorAnterior == 1)
{NoMoreIntrude ();
ValorAnterior = 0;
}
}
Pirma, signalas iš PIR buvimo jutiklio bus nuskaitytas, kaip parodyta žemiau.
ValorAtual = digitalRead (jutiklis);
Po to bus patikrinta, ar kintamojo ValorAtual vertė yra 1 arba 0, kaip parodyta žemiau.
if (ValorAtual == 1 && ValorAnterior == 0) {IntrudeAlert ();
ValorAnterior = 1;
} if (ValorAtual == 0 && ValorAnterior == 0) {NoMoreIntrude ();
ValorAnterior = 0;
}
Jei kintamasis „ValorAtual“yra 1, o kintamieji „ValorAnterior“yra 0, jutiklis iš tikrųjų yra įjungtas ir iš anksto išjungtas (ValorAnterior == 0). Tokiu būdu funkcija bus įvykdyta ir vartotojas gaus pranešimą į jūsų mobilųjį telefoną. Po to kintamojo ValorAnterior vertė bus lygi 1.
Tokiu būdu kintamasis ValorAnterior bus signalizuojamas, kad įjungta tikroji jutiklio būsena.
Dabar, jei kintamojo ValorAtual vertė yra 0, o ValorAnterior kintamojo vertė lygi 0, jutiklis neaptinka įsibrovimo ir tada įjungiama jo vertė.
Tokiu būdu sistema išsiųs pranešimą vartotojo mobiliojo telefono numeriui ir atnaujins faktinę jutiklio reikšmę 0. Ši vertė parodys, kad jutiklis šiuo metu neveikia.
Pranešimai, išsiųsti vartotojui, pateikti aukščiau.
Dabar mes išmoksime, kaip naudotis funkcija, skirta siųsti pranešimus naudotojo mobiliajam telefonui.
5 veiksmas: pranešimų siuntimo funkcijos
Šioje sistemoje yra dvi funkcijos. Tai yra tos pačios struktūros funkcijos. Skirtumas tarp jų yra pavadinimas ir išsiųsta žinutė, tačiau ją išanalizavę pamatysime, kad jie yra visiškai vienodi.
Toliau pristatysime visą funkcijų struktūrą ir aptarsime kodą.
void IntrudeAlert () // Funcao para enviar mensagem de alerta Umidade Baixa {chip.println ("AT+CMGF = 1"); vėlavimas (1000); chip.println ("AT + CMGS = \" " + SeuNumero +" / "\ r"); vėlavimas (1000); Styginių SMS = "Atidarytos durys!"; lustas.println (SMS); vėlavimas (100); lustas.println ((char) 26); vėlavimas (1000); }
void NoMoreIntrude () // Funcao para enviar mensagem de alerta Umidade Normal
{chip.println ("AT+CMGF = 1"); vėlavimas (1000); chip.println ("AT + CMGS = \" " + SeuNumero +" / "\ r"); vėlavimas (1000); String SMS = "Uždarytos durys!"; lustas.println (SMS); vėlavimas (100); lustas.println ((char) 26); vėlavimas (1000); }
SIM800L modulis naudoja AT komandą savo funkcijoms valdyti. Todėl per šias komandas mes išsiųsime pranešimą naudotojo mobiliajam telefonui.
AT+CGMF = 1 naudojamas moduliui sukonfigūruoti veikti SMS teksto režimu. Po uždelsimo sistema siunčia pranešimą vartotojui per šią komandą.
chip.println ("AT + CMGS = \" " + SeuNumero +" / "\ r");
Komandoje SIM800L modulis bus paruoštas siųsti pranešimą apie SeuNumero eilutėje užregistruotą mobiliojo telefono numerį. Po to sistema įkelia pranešimą į eilutę ir siunčia vartotojo mobilųjį telefoną, kaip parodyta žemiau.
String SMS = "Uždarytos durys!"; lustas.println (SMS); vėlavimas (100); lustas.println ((char) 26); vėlavimas (1000);
Ženklas (26) naudojamas pranešti apie pranešimo pabaigą. Šis darbo procesas yra panašus, kai dvi funkcijos siunčia pranešimą vartotojui.
Padėkos
Dabar mes vertiname JLCPCB paramą atliekant šį darbą ir, jei jus domina, spustelėkite šią nuorodą ir atsisiųskite „Arduino“suderinamą plokštę.
Rekomenduojamas:
Vizijos apsaugos telefono stovas: 4 žingsniai
Vision Protection Phone Stand: Šis telefono stabilizatorius primins vartotojams, kada nustoti naudotis savo prietaisu ir ilsėtis tam tikrą laiką. Šis stabilizatorius naudos tiek garso efektus, tiek apšvietimus, kad patrauktų vartotojo dėmesį. Pradinio kodo naudojimo laiką nustatiau 30 mylių
SMS durų apsaugos sistema naudojant „GboardPro“(„GSM Cum Arduino Mega“): 4 žingsniai
SMS durų apsaugos sistema naudojant „GboardPro“(„GSM Cum Arduino Mega“): tai paprastas, bet labai naudingas namų saugos įspėjimo „pasidaryk pats“projektas. Šį projektą sukūriau dėl vagystės mano biure
„Arduino“namų apsaugos sistema: 7 žingsniai (su nuotraukomis)
„Arduino“namų apsaugos sistema: tai namų apsaugos sistema, naudojanti „Arduino Mega 2560“, kuri suaktyvins aliarmą, kai atidaromos bet kurios durys arba aptinkamas judėjimas patalpoje, kai sistema įjungiama. Tai puikus projektas visiems, paskutiniais metais universitete. galite atnaujinti
Sukurkite „SafeLock“apsaugos sistemą naudodami „Arduino MEGA“: 6 žingsniai
Sukurkite „SafeLock“apsaugos sistemą naudodami „Arduino MEGA“: Sveiki visi … Visų pirma, aš buvau didžiulis „Instructables“bendruomenės gerbėjas ir visi, kurie čia įkėlė savo instrukcijas. Taigi, aš nusprendžiau vieną dieną paskelbti savo „Instructable“. Taigi, ateik čia pas tave su savo pirmuoju „Instructable“„S
„GreyBOX“- apsaugos nuo nelaimingų atsitikimų ir apsaugos nuo vagystės sistema: 4 žingsniai (su paveikslėliais)
„GrayBOX“- apsaugos nuo nelaimingų atsitikimų ir vagysčių sistema: „GrayBOX“yra įrenginys, apsaugantis jus ir jūsų transporto priemonę*. Šis prietaisas bus sumontuotas jūsų automobilyje*ir automatiškai atliks kai kurias užduotis, kad išgelbėtų jus ir jūsų transporto priemonę*. „GrayBOX“yra SIM kortelė, todėl galite bendrauti su juo teksto žinute