S početkom ljetne sezone pojavila se potreba za zaštitom seoske kuće. Željela sam napraviti jednostavan, ali pouzdan provalnički alarm sa signalom koji se šalje na mobitel. Odlučeno je sastaviti uređaj s prijenosom alarma na mobitel na temelju elektronički pločice kupljene na Aliexpressu. Kao što kažu jeftino, ali veselo. Glavni elementi ovog dizajna su GSM SIM800L modul i Arduino ploča (možete koristiti bilo koji Nano, Uno, Pro Mini i slično).
Uređaj ima pet alarma za kontaktne senzore. Na svaki ulaz može se povezati jedan ili više senzora koji se serijski povezuju. U skici dodijelite naziv svakoj sigurnosnoj petlji (na primjer, ulazna vrata, prozor 1, prozor 2, i tako dalje). Sigurnosni uređaj djeluje na ovaj način: kada se prekine električni krug prve petlje, jedinica prvo uspostavi poziv na prvi telefon pretplatnika, a zatim zaustavi poziv i također na broj 2. Br. 2 potreban je s obzirom na činjenicu da ako iznenada prvi pretplatnik nije u mreži ili su zakačene baterije i druge poteškoće). Ako se pokreće petlja koja slijedi nakon prve, tada se šalje SMS poruka s imenom petlje koja je radila, u istom slučaju, na oba pretplatnička broja.
Popis alata i materijala.
litij-ionska baterija sa starog telefona 3,7 V \ 1600mA-1pc
-povezivanje žica;
lemljenje željeza;
Tester;
-prozirna plastična kutija -1kom;
dress-up Težak Nano -1 kom;
-resistori 10kOhm-7pcs;
- ploča od folijskog tektolita;
- 1pcs prekidač napajanja;
- SIM800L modul -1kom;
- daska za spuštanje 1-2A -1kom;
- priključni priključci.
Prvi korak, Sastavljanje sklopa GSM sigurnosnog uređaja.
Shema fotografija.
Na ploču za lemljenje zalijevamo utične jastučiće za GSM SIM800L modul i Arduino modul, ovo pojednostavljuje instalaciju i olakšava zamjenu modula ako je potrebno. Otpornici na lemljenje i ostali spojevi. Otpornici s RX pin modula SIM800L spojeni su na digitalni ulaz Arduino D3 kako bi odgovarali naponu na ulazima oba modula. Ulazi Arduino D4-D8 provlače se kroz otpornike. Prekidač je ugrađen u napajalni jaz SIM800 GSM modula i Arduino ploču za naoružavanje cijelog sustava. Upotreba baterije, koja će omogućiti da uređaj djeluje dva tri dana, ako mreža 220 V. U mom slučaju pretvarač napona od napona 12 V proizvodi napon od 4,2 V i istodobno puni bateriju (možete koristiti drugu ploču, na primjer, TP4056 sa zaštitom).
Drugi korak, Programiranje uređaja
Na SIM kartici treba izbrisati PIN kodove i sve nepotrebne funkcije.Ipak prvo morate konfigurirati sam modul SIM800L. Na mreži postoji puno videozapisa na ovu temu, u tome nema ništa komplicirano. U skici prikazujemo vaše brojeve telefona, podešavamo nazive sigurnosnih zona, možete postaviti vrijeme za nadziranje sustava (ako uređaj radi ispravno nakon određenog vremena, stići će kontrolni SMS). Ispunite skicu u Arduino i provjerite rad uređaja.
skica:
String numberCall_1 = "79123456789"; // Broj pretplatnika №1 za poziv
String numberSMS_1 = "+79123456789"; // Broj pretplatnika br. 1 za SMS (razlikuje se samo u znaku +)
String numberCall_2 = "79123456782"; // Pretplatnik broj 2 za poziv
String numberSMS_2 = "+79123456782"; // Broj pretplatnika br. 2 za SMS (razlikuje se samo u znaku +)
String textZone_1 = "Alarm! Zona 1"; // Ime mu je na latinskom.
String textZone_2 = "Alarm! Zona 2"; // Ime mu je na latinskom.
String textZone_3 = "Alarm! Zona 3"; // Ime mu je na latinskom.
String textZone_4 = "Alarm! Zona 4"; // Ime mu je na latinskom.
#include
SoftwareSerial mySerial (2, 3);
#define pinSensor_0 4
#define pinSensor_1 5
#define pinSensor_2 6
#define pinSensor_3 7
#define pinSensor_4 8
void initGSM (void) {
kašnjenje (2000);
mySerial.begin (9600); // Podesite brzinu komunikacije s GSM modulom 9600 Baud / sec.
mySerial.println ("AT + CLIP = 1");
kašnjenje (300);
mySerial.println ("AT + CMGF = 1");
kašnjenje (300);
mySerial.println ("AT + CSCS = \" GSM \ "");
kašnjenje (300);
mySerial.println ("AT + CNMI = 2,2,0,0,0");
kašnjenje (300);
}
/ * Slanje SMS-a * /
void sendSMS (Gudački tekst, Gudački telefon) {
mySerial.println ("AT + CMGS = \" "+ telefon +" \ "");
kašnjenje (500);
mySerial.print (tekst);
kašnjenje (500);
mySerial.print ((char) 26);
kašnjenje (2500);
}
nepotpisani dugi timeerTemp = 0;
uint8_t sati = 0;
uint8_t flagSensor_0 = 0;
uint8_t flagSensor_1 = 0;
uint8_t flagSensor_2 = 0;
uint8_t flagSensor_3 = 0;
uint8_t flagSensor_4 = 0;
poništavanje postave () {
mySerial.begin (9600);
initGSM ();
pinMode (pinSensor_0, INPUT);
pinMode (pinSensor_1, ULAZ);
pinMode (pinSensor_2, INPUT);
pinMode (pinSensor_3, INPUT);
pinMode (pinSensor_4, INPUT);
timerTemp = millis ();
}
void petlja () {
ako je (millis () - timerTemp> = 3600000) {timerTemp = millis (); sati ++;}
ako (sati> = 144) {// Promijenimo vrijeme upravljanja sustavom u naše, 144 sata, broj sati.
sendSMS (string ("Sustav radi normalno.OK"), brojSMS_1);
kašnjenje (10000);
sendSMS (string ("Sustav radi normalno.OK"), brojSMS_2);
kašnjenje (10000);
sati = 0;
timerTemp = millis ();
}
if (flagSensor_0 == 0 && digitalRead (pinSensor_0) == 0) flagSensor_0 = 1;
if (flagSensor_1 == 0 && digitalRead (pinSensor_1) == 0) flagSensor_1 = 1;
if (flagSensor_2 == 0 && digitalRead (pinSensor_2) == 0) flagSensor_2 = 1;
if (flagSensor_3 == 0 && digitalRead (pinSensor_3) == 0) flagSensor_3 = 1;
if (flagSensor_4 == 0 && digitalRead (pinSensor_4) == 0) flagSensor_4 = 1;
ako je (flagSensor_0 == 1) {
Naredba žice;
command = "ATD +" + brojCall_1 + ";"
mySerial.println (naredba);
kašnjenje (20000);
mySerial.println ("ATH");
kašnjenje (1000);
command = "ATD +" + brojCall_2 + ";";
mySerial.println (naredba);
kašnjenje (20000);
mySerial.println ("ATH");
kašnjenje (1000);
flagSensor_0 = 2;
}
ako je (flagSensor_1 == 1) {
sendSMS (textZone_1, brojSMS_1);
kašnjenje (10000);
sendSMS (textZone_1, brojSMS_2);
kašnjenje (10000);
flagSensor_1 = 2;
}
ako je (flagSensor_2 == 1) {
sendSMS (textZone_2, brojSMS_1);
kašnjenje (10000);
sendSMS (textZone_2, brojSMS_2);
kašnjenje (10000);
flagSensor_2 = 2;
}
ako je (flagSensor_3 == 1) {
sendSMS (textZone_3, brojSMS_1);
kašnjenje (10000);
sendSMS (textZone_3, brojSMS_2);
kašnjenje (10000);
flagSensor_3 = 2;
}
ako je (flagSensor_4 == 1) {
sendSMS (textZone_4, brojSMS_1);
kašnjenje (10000);
sendSMS (textZone_4, brojSMS_2);
kašnjenje (10000);
flagSensor_4 = 2;
}
if (flagSensor_0 == 2 && digitalRead (pinSensor_0)! = 0) flagSensor_0 = 0;
if (flagSensor_1 == 2 && digitalRead (pinSensor_1)! = 0) flagSensor_1 = 0;
if (flagSensor_2 == 2 && digitalRead (pinSensor_2)! = 0) flagSensor_2 = 0;
if (flagSensor_3 == 2 && digitalRead (pinSensor_3)! = 0) flagSensor_3 = 0;
if (flagSensor_4 == 2 && digitalRead (pinSensor_4)! = 0) flagSensor_4 = 0;
}
Treći korak, Provjera zdravstvenog stanja uređaja.
Kad se napaja, dok se SIM800L modul i Arduino ploča pune, imate oko 20 sekundi da napustite čuvanu sobu. Na SIM800L modulu LED pokazuje mrežnu aktivnost, često traži mrežu, a jednom u pet sekundi ukazuje na rad mreže. Kad uređaj pronađe mrežu, odspojite odgovarajuće sigurnosne ulaze, nakon čega će doći dial-up ili slanje SMS-a. Dakle, uređaj radi dobro.
Foto SMS. Bilo koji sigurnosni detektor s izlazima može biti u obliku kontakata, releja s pokretača, samo u skladu s vašim potrebama i maštom. Općenito, proizveli smo jednostavan, sigurnosni uređaj. Takvog domaćeg čuvara može se izraditi da organizira zaštitu bilo kakvih objekata. Da biste uključili alarmni uređaj, kroz prekidač na SIM800 i Arduino morate napajati 4,2 Volta. Na prvom ulazu poziv će se proslijediti pretplatniku broj 1, nakon čega će se prebaciti na broj 2. Dodatni br. 2 predviđen je za umnožavanje. Otvorena petlja broj 2,3,4,5 omogućuje emitiranje SMS-a s određenim imenom prekinute petlje na oba telefona. Sve ploče postavit ćemo u bilo kojem u prikladnom kućištu. Općenito, mislim da je ovo dobar zanimljiv uređaj koji se može dalje razvijati - dodati funkcije GSM utičnice, DMTF kontrole i još mnogo toga.
Više detalja možete vidjeti u videu
Želim vam sve zdravlja i uspjeha u životu i radu!