С настъпването на летния сезон възникна необходимост от защита на селската къща. Исках да направя проста, но надеждна алармена сигнализация със сигнал, предаван на мобилен телефон. Решено е да се сглоби устройство с предаване на алармата към мобилен телефон въз основа на електронен платки, закупени на Aliexpress Както се казва евтино, но весело. Основните елементи на този дизайн са GSM SIM800L модулът и дъската Arduino (можете да използвате всякакви Nano, Uno, Pro Mini и други подобни).
Устройството има пет алармени входа за контактни сензори. Един или няколко сензора, свързани последователно, могат да бъдат свързани към всеки вход. В скица присвойте име на всеки контур за сигурност (например входна врата, прозорец 1, прозорец 2 и т.н.). Защитното устройство работи така: когато електрическата верига на първия контур е прекъсната, устройството първо осъществява повикване до първия телефон на абоната, след което спира повикването, а също и на номер 2. № 2 е необходим с оглед на факта, че ако изведнъж първият абонат е офлайн или батерията и други проблеми са закачени). Ако цикълът, следващ първия, се задейства, тогава се изпраща SMS съобщение с името на цикъла, който работи, в същия случай, и на двата абонатни номера.
Изброяване на инструменти и материали.
литиево-йонна батерия от стар телефон 3.7V \ 1600mA-1бр
-свързване на проводници;
поялник;
Тестер;
-прозрачна пластмасова кутия -1бр;
рокля-нагоре Arduino Нано -1 бр;
-резистори 10kOhm-7бр;
- дъска от фолио текстолит;
- 1бр превключвател за захранване;
- SIM800L модул -1бр;
- дъска за спускане 1-2А -1бр;
- конектори.
Първа стъпка, Сглобяване на схема на GSM устройство за сигурност.
Фото схема.
Ние припояваме подложки за приставки за GSM SIM800L модула и модула Arduino върху дънната платка, това опростява инсталирането и улеснява смяната на модулите, ако е необходимо. Поялни резистори и други връзки. Резисторите от RX щифта на модула SIM800L са свързани към цифровия вход Arduino D3, за да съответстват на напрежението на входовете на двата модула. Входовете на Arduino D4-D8 се изтеглят през резистори. Превключвателят е монтиран в пропастта на захранването на GSM-модула SIM800 и платката Arduino за въоръжаване на цялата система. Използването на батерия, която ще позволи на устройството да функционира два три дни при липса на мрежа от 220 V. В моя случай преобразувателят на напрежение от напрежение 12 V произвежда напрежение 4,2 V и в същото време зарежда батерията (можете да използвате друга платка, например TP4056 със защита).
Втора стъпка, Програмиране на устройства
В SIM картата трябва да бъдат изтрити ПИН кодове и всички ненужни функции.Все пак първо трябва да конфигурирате самия модул SIM800L. Има много видеоклипове по тази тема в мрежата, няма нищо сложно в това. В скицата посочваме вашите телефонни номера, коригираме имената на зоните за сигурност, можете да зададете времето за наблюдение на системата (ако устройството работи правилно след определено време, ще дойде контролен SMS). Напълнете скицата в Arduino и проверете работата на устройството.
скица:
String numberCall_1 = "79123456789"; // Абонатен номер №1 за разговор
Номер на низаSMS_1 = "+79123456789"; // Абонатен номер № 1 за SMS (различава се само в знака +)
String numberCall_2 = "79123456782"; // Абонат номер 2 за разговор
Номер на низаSMS_2 = "+79123456782"; // Абонатен номер № 2 за SMS (различава се само в знака +)
String textZone_1 = "Аларма! Зона1"; // Името му е на латински.
String textZone_2 = "Аларма! Зона2"; // Името му е на латински.
String textZone_3 = "Аларма! Зона3"; // Името му е на латински.
String textZone_4 = "Аларма! Зона4"; // Името му е на латински.
#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) {
забавяне (2000 г.);
mySerial.begin (9600); // Задайте скоростта на комуникация с GSM модула 9600 Baud / сек.
mySerial.println ("AT + CLIP = 1");
забавяне (300);
mySerial.println ("AT + CMGF = 1");
забавяне (300);
mySerial.println ("AT + CSCS = \" GSM \ "");
забавяне (300);
mySerial.println ("AT + CNMI = 2,2,0,0,0");
забавяне (300);
}
/ * Изпращане на SMS * /
void sendSMS (String text, String phone) {
mySerial.println ("AT + CMGS = \" "+ телефон +" \ "");
забавяне (500);
mySerial.print (текст);
забавяне (500);
mySerial.print ((char) 26);
забавяне (2500);
}
неподписан дълъг timerTemp = 0;
uint8_t часа = 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;
настройка за невалидност () {
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 () {
ако (millis () - timerTemp> = 3600000) {timerTemp = millis (); часа ++;}
ако (часа> = 144) {// Променете времето за контрол на системата на наше, 144 часа. брой часове.
sendSMS (String ("Системата работи нормално.OK"), номерSMS_1);
забавяне (10000);
sendSMS (String ("Системата работи нормално.OK"), номерSMS_2);
забавяне (10000);
часа = 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;
ако (flagSensor_0 == 1) {
String команда;
command = "ATD +" + номерCall_1 + ";"
mySerial.println (команда);
забавяне (20000);
mySerial.println ("ATH");
забавяне (1000);
command = "ATD +" + номерCall_2 + ";"
mySerial.println (команда);
забавяне (20000);
mySerial.println ("ATH");
забавяне (1000);
flagSensor_0 = 2;
}
ако (flagSensor_1 == 1) {
sendSMS (textZone_1, номерSMS_1);
забавяне (10000);
sendSMS (textZone_1, номерSMS_2);
забавяне (10000);
flagSensor_1 = 2;
}
ако (flagSensor_2 == 1) {
sendSMS (textZone_2, номерSMS_1);
забавяне (10000);
sendSMS (textZone_2, номерSMS_2);
забавяне (10000);
flagSensor_2 = 2;
}
ако (flagSensor_3 == 1) {
sendSMS (textZone_3, номерSMS_1);
забавяне (10000);
sendSMS (textZone_3, номерSMS_2);
забавяне (10000);
flagSensor_3 = 2;
}
ако (flagSensor_4 == 1) {
sendSMS (textZone_4, номерSMS_1);
забавяне (10000);
sendSMS (textZone_4, номерSMS_2);
забавяне (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;
}
Стъпка трета, Проверка на здравето на устройството.
Когато се приложи захранване, докато SIM800L модулът и дъската Arduino се зареждат, имате около 20 секунди, за да напуснете охраняваната стая. На модула SIM800L светодиодът показва мрежова активност, често търси мрежа, веднъж на всеки пет секунди показва мрежова работа. Когато устройството намери мрежа, изключете съответните входове за сигурност, след това ще има комутиране или изпращане на SMS. Така устройството работи добре.
Снимка SMS. Ще бъде възможно да се включат всякакви детектори за сигурност с изходи под формата на контакти, релета от задействащи механизми, само в съответствие с вашите нужди и въображение. По принцип ние произведохме просто, сигурно устройство. Такъв домашен страж може да се направи, за да организира защитата на всякакви предмети. За да включите аларменото устройство, трябва да подадете 4.2 волта през превключвателя на SIM800 и Arduino. На първия вход разговор ще премине към абонат № 1, след което той ще премине към №2. Допълнителен номер 2 е предвиден за дублиране. Отвореният цикъл номер 2,3,4,5 прави издаването на SMS със специфичното име на прекъснатия цикъл, съответно, и на двата телефона. Ние ще поставим всички дъски във всеки в подходящ случай. Като цяло мисля, че това е добро интересно устройство, което може да бъде доразвито по-нататък - добавете функциите на GSM гнездо, DMTF управление и много други.
Повече подробности можете да видите във видеото
Желая ви здраве и успехи в живота и работата!