Wraz z nadejściem sezonu letniego pojawiła się potrzeba ochrony wiejskiego domu. Chciałem stworzyć prosty, ale niezawodny alarm antywłamaniowy z sygnałem przesyłanym do telefonu komórkowego. Zdecydowano się na montaż urządzenia z transmisją alarmu do telefonu komórkowego na podstawie elektroniczny płytki drukowane zakupione na Aliexpress. Jak mówią tanie, ale wesołe. Głównymi elementami tego projektu są moduł GSM SIM800L i płyta Arduino (możesz użyć dowolnego - Nano, Uno, Pro Mini i tym podobnych).
Urządzenie ma pięć wejść alarmowych dla czujników kontaktowych. Do każdego wejścia można podłączyć jeden lub kilka czujników połączonych szeregowo W szkicu przypisz nazwę do każdej pętli bezpieczeństwa (na przykład drzwi wejściowe, okno 1, okno 2 itd.). Urządzenie zabezpieczające działa w ten sposób: gdy obwód elektryczny pierwszej pętli zostanie przerwany, urządzenie najpierw wykonuje połączenie z pierwszym telefonem abonenta, a następnie przerywa połączenie, a także nr 2. Nr 2 jest konieczny z uwagi na fakt, że jeśli nagle pierwszy abonent jest offline lub bateria i inne problemy są zawieszone). Jeśli zostanie uruchomiona pętla następująca po pierwszej, wiadomość SMS zostanie wysłana z nazwą pętli, która działała w tym samym przypadku na oba numery abonentów.
Wyliczenie narzędzi i materiałów.
bateria litowo-jonowa ze starego telefonu 3,7 V \ 1600mA-1 szt
przewody łączące;
lutownica;
tester;
-przezroczyste plastikowe pudełko -1szt;
płatność Arduino Nano -1 szt .;
-rezystory 10kOhm-7szt;
- płyta chlebowa wykonana z tekstolitu foliowego;
- 1 sztuk wyłącznik zasilania;
- moduł SIM800L -1szt;
- deska opuszczająca 1-2A -1szt;
- złącza końcowe.
Pierwszy krok. Montaż obwodu urządzenia zabezpieczającego GSM.
Schemat zdjęcia
Lutujemy pady wtyczek do modułu GSM SIM800L i modułu Arduino do płyty ściennej, co upraszcza instalację i ułatwia wymianę modułów w razie potrzeby. Rezystory lutownicze i inne połączenia. Rezystory z pinu RX modułu SIM800L są podłączone do wejścia cyfrowego Arduino D3 w celu dopasowania napięcia na wejściach obu modułów. Wejścia Arduino D4-D8 są przeciągane przez rezystory. Przełącznik jest zamontowany w szczelinie zasilającej modułu SIM800 GSM i płyty Arduino w celu uzbrojenia całego systemu. Zastosowanie baterii, która pozwoli na działanie urządzenia przez dwa trzy dni przy braku sieci 220 V. W moim przypadku przetwornica napięcia z napięcia 12 V wytwarza napięcie 4,2 V i jednocześnie ładuje baterię (możesz użyć innej płyty, na przykład TP4056 z ochroną).
Drugi krok. Programowanie urządzenia
Na karcie SIM należy usunąć kody PIN i wszystkie niepotrzebne funkcje.Jednak najpierw musisz skonfigurować sam moduł SIM800L. W sieci jest wiele filmów na ten temat, nie ma w tym nic skomplikowanego. W szkicu wskazujemy twoje numery telefonów, dostosujemy nazwy stref bezpieczeństwa, możesz ustawić czas monitorowania systemu (jeśli urządzenie działa poprawnie po określonym czasie, nadejdzie kontrolny SMS). Wypełnij szkic w Arduino i sprawdź działanie urządzenia.
Szkic:
Number stringCall_1 = "79123456789"; // Abonent nr 1 dla połączenia
Numer ciągu SMMS_1 = „+79123456789”; // Numer abonenta nr 1 dla SMS-ów (różni się tylko znakiem +)
Number stringCall_2 = "79123456782"; // Abonent 2 dla połączenia
Numer ciąguSMS_2 = "+79123456782"; // Numer subskrybenta nr 2 dla wiadomości SMS (różni się tylko znakiem +)
String textZone_1 = "Alarm! Zone1"; // Jego nazwa jest w języku łacińskim.
String textZone_2 = "Alarm! Zone2"; // Jego nazwa jest w języku łacińskim.
String textZone_3 = "Alarm! Zone3"; // Jego nazwa jest w języku łacińskim.
String textZone_4 = "Alarm! Zone4"; // Jego nazwa jest w języku łacińskim.
#include
SoftwareSerial mySerial (2, 3);
# zdefiniować pin Czujnik_0 4
# zdefiniować pinSensor_1 5
# zdefiniować pinSensor_2 6
# zdefiniować pinSensor_3 7
# zdefiniować pinSensor_4 8
void initGSM (void) {
opóźnienie (2000);
mySerial.begin (9600); // Ustaw prędkość komunikacji z modułem GSM 9600 Baud / sec.
mySerial.println („AT + CLIP = 1”);
opóźnienie (300);
mySerial.println („AT + CMGF = 1”);
opóźnienie (300);
mySerial.println („AT + CSCS = \„ GSM \ ””);
opóźnienie (300);
mySerial.println („AT + CNMI = 2,2,0,0,0”);
opóźnienie (300);
}
/ * Wysyłanie wiadomości SMS * /
void sendSMS (ciąg tekstowy, ciąg telefoniczny) {
mySerial.println ("AT + CMGS = \" "+ telefon +" \ "");
opóźnienie (500);
mySerial.print (tekst);
opóźnienie (500);
mySerial.print ((char) 26);
opóźnienie (2500);
}
unsigned long timerTemp = 0;
uint8_t hours = 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;
void setup () {
mySerial.begin (9600);
initGSM ();
pinMode (pinSensor_0, INPUT);
pinMode (pinSensor_1, INPUT);
pinMode (pinSensor_2, INPUT);
pinMode (pinSensor_3, INPUT);
pinMode (pinSensor_4, INPUT);
timerTemp = millis ();
}
void loop () {
if (millis () - timerTemp> = 3600000) {timerTemp = millis (); godziny ++;}
if (godziny> = 144) {// Zmień czas kontroli systemu na własny, 144 godziny. liczba godzin.
sendSMS (String („System działa normalnie.OK”), liczbaSMS_1);
opóźnienie (10000);
sendSMS (String („System działa normalnie.OK”), liczbaSMS_2);
opóźnienie (10000);
godziny = 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;
if (flagSensor_0 == 1) {
Polecenie string;
polecenie = „ATD +” + numberCall_1 + ”;„
mySerial.println (polecenie);
opóźnienie (20000);
mySerial.println („ATH”);
opóźnienie (1000);
polecenie = "ATD +" + numberCall_2 + ";";
mySerial.println (polecenie);
opóźnienie (20000);
mySerial.println („ATH”);
opóźnienie (1000);
flagSensor_0 = 2;
}
if (flagSensor_1 == 1) {
sendSMS (textZone_1, liczbaSMS_1);
opóźnienie (10000);
sendSMS (textZone_1, liczbaSMS_2);
opóźnienie (10000);
flagSensor_1 = 2;
}
if (flagSensor_2 == 1) {
sendSMS (textZone_2, numberSMS_1);
opóźnienie (10000);
sendSMS (textZone_2, numberSMS_2);
opóźnienie (10000);
flagSensor_2 = 2;
}
if (flagSensor_3 == 1) {
sendSMS (textZone_3, numberSMS_1);
opóźnienie (10000);
sendSMS (textZone_3, numberSMS_2);
opóźnienie (10000);
flagSensor_3 = 2;
}
if (flagSensor_4 == 1) {
sendSMS (textZone_4, numberSMS_1);
opóźnienie (10000);
sendSMS (textZone_4, numberSMS_2);
opóźnienie (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;
}
Krok trzeci. Sprawdzanie stanu urządzenia.
Po podłączeniu zasilania, gdy moduł SIM800L i płyta Arduino ładują się, masz około 20 sekund na opuszczenie strzeżonego pomieszczenia. W module SIM800L dioda LED wskazuje aktywność sieci; często szuka sieci; raz na pięć sekund wskazuje działanie sieci. Gdy urządzenie znajdzie sieć, odłącz odpowiednie wejścia bezpieczeństwa, po czym nastąpi połączenie dial-up lub SMS. Więc urządzenie działa dobrze.
Zdjęcie SMS. Możliwe będzie dołączenie dowolnych czujek bezpieczeństwa z wyjściami w postaci styków, przekaźników z siłowników, tylko zgodnie z Twoimi potrzebami i wyobraźnią. Ogólnie rzecz biorąc, wyprodukowaliśmy proste urządzenie zabezpieczające. Taki domowy strażnik może być zorganizowany w celu ochrony wszelkich przedmiotów. Aby włączyć urządzenie alarmowe, musisz podać 4,2 wolta przez przełącznik na SIM800 i Arduino. Przy pierwszym wejściu połączenie zostanie przekazane abonentowi nr 1, a następnie przełączy się na numer 2. Dodatkowa nr 2 przewidziana jest do powielania. Otwarta pętla numer 2,3,4,5 powoduje, że wydanie SMS-a o określonej nazwie przerwanej pętli, odpowiednio, na obu telefonach. Umieścimy wszystkie tablice w dowolnym w odpowiednim przypadku. Ogólnie uważam, że jest to dobre ciekawe urządzenie, które można dalej rozwijać - dodać funkcje gniazda GSM, sterowania DMTF i wiele więcej.
Więcej szczegółów można zobaczyć w filmie
Życzę wszystkim zdrowia i sukcesów w życiu i pracy!