Створення охоронної сигналізації з датчиком руху на базі Arduino і інфрачервоних датчиків. GSM охоронна система для будинку на базі Arduino Gsm сигналізація arduino структурна схема
Є спеціальними апаратними платформами, на основі яких можна створювати різні електронні пристрої, включаючи і. Пристрої цього типу відрізняються простою конструкцією і можливістю програмування алгоритмів їх роботи. Завдяки цьому, створена за допомогою Arduino GSM сигналізація, може максимально налаштовуватися під об’єкт, який вона буде охороняти.Що собою являє модуль Arduino?
Arduino реалізуються у вигляді невеликих плат, які мають власний мікропроцесор і пам’ять. На платі також розташовується набір функціональних контактів, до яких можна підключати різні електрифіковані пристрої, включаючи і датчики, які використовуються для охоронних систем.Процесор Arduino дозволяє завантажувати в себе програму, написану користувачем самостійно. Створюючи власний унікальний алгоритм, можна забезпечувати оптимальні режими роботи охоронних сигналізацій для різних об’єктів і для різних умов використання і вирішуваних завдань.Чи складно працювати з Arduino?
Модулі Arduino відрізняються високою популярністю серед багатьох користувачів. Це стало можливим завдяки своїй простоті і доступності.Програми для управління модулями пишуться з використанням звичайного C ++ і доповнень у вигляді простих функцій управління процесами введення / виведення на контактах модуля. Крім цього, для програмування може застосовуватися і безкоштовна програмне середовище Arduino IDE, що функціонує під Windows, Linux або Mac OS.З модулями Arduino істотно спрощена процедура складання пристроїв. GSM сигналізація на Ардуіно може створюватися без потреби в паяльнику – збірка відбувається з використанням макетної дошки, перемичок і проводів.Як створити сигналізацію за допомогою Arduino?
До основних вимог, яким повинна відповідати створена gsm сигналізація на Ардуіно своїми руками відносяться:- сповіщати власника об’єкта про злом або проникнення;
- підтримки зовнішніх систем типу звукова сирена, сигнальні ліхтарі;
- управління сигналізацією через СМС або дзвінок;
- автономна робота без зовнішнього живлення.
- модуль Arduino;
- набір функціональних датчиків;
- або модем;
- джерело автономного живлення;
- зовнішні виконавчі пристрої.
Відмінною особливістю модулів Ардуіно є використання спеціальних плат розширення. З їх допомогою здійснюється підключення всіх додаткових пристроїв до Arduino, які потрібні для збірки конфігурації охоронної системи. Такі плати встановлюються поверх модуля Ардуіно у вигляді «бутерброда», а вже до самих платам підключаються відповідні допоміжні пристрої.
Як це працює?
При спрацьовуванні одного з підключених датчиків відбувається передача сигналу до процесора модуля Arduino. Використовуючи завантажений призначений для користувача софт, мікропроцесор виробляє його обробку за певним алгоритмом. В результаті цього може формуватися команда на спрацьовування зовнішнього виконавчого пристрою, яка передається до нього через відповідну плату розширення-сполучення.Щоб забезпечити можливість оправлення попереджувальних сигналів власникові будинку або квартири, які охороняються, до модуля Arduino, через плату розширення, підключається спеціальний модуль GSM. У нього встановлюється SIM-карта одного з провайдерів стільникового зв’язку.При відсутності спеціального GSM-адаптера його роль може виконувати і звичайний мобільний телефон. Крім відправки СМС-повідомлень з попередженням про тривогу і дозвону, наявність стільникового зв’язку дозволить управляти GSM сигналізацією на Ардуіно дистанційно, а також контролювати стан об’єкта, відправляючи спеціальні запити.Для зв’язку з власником об’єкту, крім GSM-модулів можуть використовуватися і звичайні модеми, які забезпечують зв’язок через інтернет. »В такому випадку, коли спрацьовує датчик, оброблений процесором сигнал, передається через модем на спеціальний портал або сайт.А вже з сайту здійснюється автоматичне генерування попереджувальної СМС або розсилки на прив’язаний e-mail.
висновки
Використання модулів Arduino дозволить користувачам самостійно проектувати GSM-сигналізації, які можуть працювати з різно функціональними датчиками і керувати зовнішніми пристроями. Завдяки можливості застосування різних датчиків функції сигналізації можна істотно розширити і створити комплекс, який буде стежити не тільки за безпекою об’єкта, а й за його станом. Наприклад, можна буде контролювати температуру на об’єкті, фіксувати витік води і газу, перекривати їх подачу в разі аварії і багато іншого.Сьогодні мова піде про те, як за допомогою Ардуіно зібрати охоронну систему . Наша «охорона» буде вартувати один контур і управляти одним оповісником.Для Ардуіно це не проблема, і, як ви побачите за кодом програми і по схемі пристрою, можна легко збільшити кількість охоронюваних точок доступу і кількість пристроїв оповіщення або індикації.охоронну систему можна застосувати для охорони як великих об’єктів (будівель і споруд), так і невеликих предметів (шкатулок, сейфів), і навіть переносних кейсів і валіз. Хоча з останніми треба бути обережніше, якщо ви встановите систему охорони, наприклад, на валізу, з яким вирішите вирушити в подорож, і система оповіщення спрацює в якомусь аеропорту, то, думаю, вам має бути серйозна розмова з місцевою службою безпеки 🙂Спрощено принцип роботи пристрою виглядає наступним чином (рис. 1). Після включення живлення пристрій переходить в робочий режим і чекає постановки на охорону. Постановка і зняття з охорони здійснюються однією кнопкою. Для підвищення безпеки цю кнопку краще розташувати всередині приміщення, що охороняється (сейфа або шкатулки). Перед включенням режиму охорони двері потрібно відкрити. При включенні режиму охорони (натисканні на кнопку) електронна схема чекає, поки ви не закриєте двері в приміщення (дверцята сейфу, кришку скриньки, і т.д.).
На двері (або дверцятах) повинен бути встановлений кінцевий вимикач будь-якого типу, про це пізніше. Замикаючись (або розмикаючи), кінцевий вимикач повідомить пристрою, що охороняється контур замкнутий, і пристрій перейде в режим охорони. Про перехід в режим охорони система сповістить двома короткими сигналами (як в автомобільних сигналізаціях). У цьому режимі пристрій «ловить» відкриття дверей. Після відкриття дверей система чекає кілька секунд (це величина настроюється, для приміщень близько десяти секунд, для шкатулки одна-дві) відключення режиму охорони, якщо цього не відбувається, включається сирена. Алгоритм і схема розроблені так, що відключити сирену можна, тільки повністю розібравши корпус і відключивши харчування.
Пристрій охоронної системи дуже просте (рис. 2). В основі плата Ардуіно . Кінцеві вимикачі підключаються, як звичайна кнопка, через що підтягують резистори. На кінцевика зупинюся окремо. Вони бувають нормально замкнуті і нормально розімкнені. Можна в якості концевика включити звичайну кнопку, тільки хід звичайної кнопки дуже великий, люфт двері зазвичай більше. Тому необхідно придумати якийсь штовхач для кнопки і подпружінени, щоб не зламати кнопку дверима. Ну і якщо не лінь, то можна дійти до магазину і купити магнітний вимикач (геркон) (рис. 3), він не боїться пилу і забруднень.
Підійде і кінцевий вимикач для автосигналізації (рис. 4). Слід зазначити, програма написана під геркон. При закритих дверях його контакт замкнутий. Якщо використовувати вимикач від автосигналізації, то при закритих дверях він буде швидше за все розімкнути, і в відповідних місцях коду потрібно буде поміняти 0 на 1 і навпаки.
Як сирени пропоную використовувати оповіщувач звуковий ПКІ-1 ИВОЛГА білоруського виробництва (рис. 5).Напруга живлення 9 – 15 В, робочий струм 20 – 30 мА. Це дозволяє використовувати його на батарейках. При цьому він «видає» 95 – 105 дБ.
При таких характеристиках від батарейки «Крона» він буде звучати кілька десятків хвилин. Я його знайшов в інтернеті за 110 руб. Там же геркон з магнітом коштує близько 30 руб. Вимикач від автосигналізації в автозапчастини був куплений за 28 руб. Транзистор КТ315 можна взяти з будь-якою літерою або замінити на будь-який сучасний малопотужний кремнієвий транзистор відповідної провідності. Якщо гучності одного оповіщувача не вистачить (хто знає, може, ви захочете, щоб було чутно за багато кілометрів), можна підключити декілька сповіщувачів паралельно або взяти більш потужний, тільки в цьому випадку і транзистор потрібно замінити на більш потужний (наприклад, знайому нам транзисторную збірку ULN2003). Як роз’ємів для підключення геркона і сирени я застосував найпростіші роз’єми для аудіо / відеопристроїв – ціна на радіоринку 5 руб. за пару.Корпус пристрою можна склеїти з пластика або фанери; якщо охороняється серйозний об’єкт, то його краще зробити металевим. Батареї або акумулятори харчування для підвищення надійності та безпеки бажано розмістити всередині корпусу.Для спрощення програмного коду не були використані елементи енергозбереження, і батарейок надовго не вистачає. Можна оптимізувати код, а ще краще радикально переробити, застосувавши обробку подій по перериваннях і сплячий режим МК. У цьому випадку харчування від двох квадратних батарейок, включених послідовно (9 В), має вистачити на кілька місяців.
тепер код
// постійніconst int button = 12; // пін для кнопки
const int gerkon = 3; // пін для геркона
const int sirena = 2; // пін упр-ня сиреною
const int led = 13; // пін індикатора
// змінні
int buttonState = 0; // стан кнопки
int gerkonState = 0; // стан геркона
int N = 0; // лічильник кнопки відключення охорони
void setup () <
// управління сиреною і індикатором – вихід
pinMode (sirena, OUTPUT);
pinMode (led, OUTPUT); // кнопка і геркон – входи
pinMode (gerkon, INPUT);
pinMode (button, INPUT);
>
void loop () <
digitalWrite (led, HIGH);
while (buttonState = = 0) / цикл очікування, поки не натиснемо кнопку
buttonState = digitalRead (button); // для переходу в режим охорони
>
digitalWrite (led, LOW);
buttonState = 0; // Обнуляємо значення кнопки
while (gerkonState = = 0) / цикл, поки не закриємо двері>
delay (500); // 🙂
digitalWrite (sirena, HIGH); // Код
delay (100); // індикації
digitalWrite (sirena, LOW); // включення
delay (70); // режиму
digitalWrite (sirena, HIGH); // охорони
delay (100); // оповіщення
digitalWrite (sirena, LOW); // звукове
while (gerkonState = = 1) / чекаємо відкриття дверей
gerkonState = digitalRead (gerkon);
>
for (int i = 0; i 0) / найголовніше
digitalWrite (sirena, LOW); // не включаємо сирену
>
else <
digitalWrite (sirena, HIGH); // або включаємо сирену
>
digitalWrite (led, HIGH); // включаємо індикатор N = 0;
buttonState = 0;
delay (15000); // нагадування «чайникам», яким подобається
digitalWrite (led, LOW); // тиснути на кнопки без перерви delay (1000);Даний проект стосується розробки і удосконалення системи для запобігання / контролю будь-яких спроб проникнення злодіїв. Розроблене охоронний пристрій використовує вбудовану систему (включає апаратний мікроконтролер з використанням відкритого програмного коду і gsm модем) на базі технології GSM (Глобальна система рухомого зв’язку).Охоронний пристрій може бути встановлено в будинку. Інтерфейсний датчик охоронної сигналізації також приєднаний до охоронної системи на базі контролера.
При спробі проникнення система передає попередження (наприклад, sms) власнику на мобільний телефон або на будь-який заздалегідь сконфігурованих мобільний телефон для подальшої обробки.
Охоронна система складається з мікроконтролера Arduino Uno і стандартного модему SIM900A на базі GSM / GPRS. Вся система може харчуватися від будь-якого джерела живлення / батареї 12В 2A.Нижче показана схема охоронної системи на базі Arduino.
Робота системи дуже проста і не вимагає роз’яснень. Коли на систему підключений до джерела живлення, вона переходить в черговий режим. Коли висновки коннектора J2 закорочені, заздалегідь запрограмоване попередження передається на необхідний мобільний номер. Ви можете під’єднати будь-який детектор виявлення проникнення (такий як світлове захисне пристосування або датчик руху) до вхідного конектора J2. Зауважте, що активний-низький (L) сигнал на виводі 1 коннектора J2 активує спрацьовування охоронної сигналізації.Більш того, в систему додано опциональное пристосування “виклик – тривога”.Воно активує телефонний дзвінок, коли користувач натисне кнопку S2 (або коли інший електронний блок ініціює сигналізацію). Після натискання кнопки “call” (S2), виклик можна скасувати, натиснувши іншу кнопку S3 – кнопку “end”. Дана опція може використовуватися для подачі сигналу тривоги в разі “пропущеного дзвінка” в разі проникнення.Схема дуже гнучка, тому може використовувати будь-який SIM900A модем (і, звичайно, плату Arduino Uno). Уважно прочитайте документацію на модем до початку збирання. Це дозволить полегшити і зробити приємним процес виготовлення системи.
список радіоелементів
позначення | Тип | Номінал | кількість | Примітка | Магазин | Мій блокнот |
---|---|---|---|---|---|---|
плата Arduino | 1 | В блокнот | ||||
GSM / GPRS-модем | SIM900A | 1 | В блокнот | |||
IC1 | лінійний регулятор | 1 | В блокнот | |||
C1 | 100мкФ 25В | 1 | В блокнот | |||
C2 | електролітичний конденсатор | 10мкФ 16В | 1 | В блокнот | ||
R1 | резистор | 1 | В блокнот | |||
LED1 | світлодіод | 1 | В блокнот | |||
S1 | кнопка | З фіксацією | 1 |
Для цього проекту вам знадобиться:зумер
Сирена сигналізації 12V
12V джерело живленняКлавіатура для Arduino
Корпус.
Крок 2: Підключення компонентів
Спочатку ви помістіть GSM модуль на Arduino Uno, вам потрібно буде припаяти дроти GND і VCC разом з двома датчиками, зумером і входом модуля реле. Після цього з’єднати ці припаянности дроти на відповідний роз’єм GSM Шілд. Далі ви будете робити роз’єм введення / виводу сигналів з цих частин, і останнє, що потрібно буде – це підключити клавіатуруArduino Uno / GSM Клеми:Висновок 0: чи не пов’язаний;
Висновок 1: чи не пов’язаний;
Висновок 2: непов’язаний (GSM буде використовувати цей штир);
Висновок 3: непов’язаний (GSM буде використовувати цей штир);
Висновок 4: останній рядок за допомогою клавіатури (контакт клавіатури 4 – від 8);
Висновок 5: чи не пов’язаний;
Висновок 6: другий стовпець з допомогою клавіатури (контакт клавіатури 6 – з 8);
Висновок 7: третя колонка з клавіатури (клавіатури пальця 7 – від 8);
Висновок 8: непов’язаний (GSM буде використовувати цей штир);
Висновок 9: непов’язаний (GSM буде використовувати цей штир);
Висновок 10: дані PIR датчика № 2;
Висновок 11: сирена звуковий сигнал (надходить на вхід модуля реле);
Висновок 12: дані PIR датчика № 1;
Висновок 13: вхідний сигнал зумера;Як можна бачити, хоча клавіатура має 8 висновків, підключилися тільки три (один рядок і дві колонки, що дозволяє використовувати два числа для читання – 1 × 2 матриці), таким чином я можу зробити паролі, використовуючи ці три дроти, і немає необхідності використовувати всі контакти з клавіатури. Це відбувається тому, що після того, як датчик руху виявляє людини, що йде в кімнаті, людина буде мати всього 5 секунд, щоб відключити сигналізацію. Після того, як аварійний сигнал не відключається на даний момент часу, GSM Шилд відправляє SMS вам, або дзвонить на номер телефону. Arduino був запрограмований на виклик і як тільки ви відповісти на телефонний дзвінок, він покладе трубку.Звичайно, можна отримати неправдиві свідчення датчика, тому варто опція, щоб відключити сигналізацію, просто відправивши СМС з вашого телефону на Arduino. Крім того, ще один варіант, що ви можете зробити, це налаштувати Шилд, щоб він відправляв вам одне повідомлення в день, щоб ви знали, що він працює правильно.
Крок 3: Код Просто завантажте наведений нижче код і скомпілюйте. Він використовує бібліотеки Keypad.h і GSM.h.
Завантажити файл: (cкачиваний: 181)
Завантажити файл: (cкачиваний: 104)Крок 4: Висновок
З огляду на, що код Arduino Uno буде відправляти SMS-повідомлення і дзвонити на ваш телефон всього за п’ять секунд після того, як хтось проникнути в ваш будинок, я припускаю, що у вас буде достатньо часу, щоб зателефонувати в поліцію. Звичайно сирена буде відлякувати злодіїв і ваш будинок або інше приміщення стане безпечніше за допомогою цієї статті.Її автор хотів виконати саморобку, щоб вона була дешевою і бездротової.
Ця саморобка використовує PIR датчик руху, а передача інформації відбувається за допомогою RF модуля.Автор хотів скористатися інфрачервоним модулем, але так як він має обмежену дальність дії, і плюс може працювати тільки на лінії прямої видимості приймачем, тому він вибрав RF модуль, за допомогою якого можна домогтися дальності приблизно 100 метрів.
Для того, щоб відвідувачам було зручніше переглядати збірку сигналізації, я вирішив поділити статтю на 5 етапів:
Етап 1: Створення передавача.
Етап 2: Створення приймача.
Етап 3: Установка програмного забезпечення.
Етап 4: Тестування зібраних модулів.
Етап 5: Збірка корпусу і установка в нього модуля.Все що знадобилося автору, це:
– 2 плати ARDUINO UNO / ARDUINO MINI / ARDUINO NANO для приймача і передавача;
– RF пріёмопередающій модуль (433 MHZ);
– PIR датчик руху;
– 9В батареї (2 штуки) та конектори до них;
– Зумер;
– Світлодіод;
– Резистор з опором 220 Ом;
– Макетна плата;
– Джампери / дроти / перемички;
– Монтажна плата;
– міжплатним штирові з’єднувачі;
– Перемикачі;
– Корпуси для приймача і передавача;
– Кольоровий папір;
– Монтажний скотч;
– Набірної скальпель;
– Термоклейвий пістолет;
– Паяльник;
– Кусачки / інструмент для зняття ізоляції;
– Ножиці по металу.
Етап 1.
Починаємо створення передавача.
Нижче надана схема роботи датчика руху.
Сам передавач складається з:
– датчика руху;
– Плати Arduino;
– Модуль передавача.
Сам датчик має три висновки:
– VCC;
– GND;
– OUT.Після чого, перевірив роботу датчика
Увага.
Перед завантаженням прошивки, автор переконується в тому, що в налаштуваннях Arduino IDE вірно встановлена поточна плата і послідовний порт. Після чого завантажив скетч:Пізніше, як датчик руху зафіксує рух перед собою, засвітиться світлодіод, а також в моніторі ви зможете побачити відповідне повідомлення.
За схемою трохи нижче.
Передавач має 3 виведення (VCC, GND, і Data), з’єднуємо їх:
– VCC> 5В висновком на платі;
– GND> GND;
– Data> 12 висновком на платі.
Сам приймач складається з:
– Модуля RF приймача;
– Плати Arduino
– зумер (динаміка).
Приймач, як і передавач, має 3 виведення (VCC, GND, і Data), з’єднуємо їх:
– VCC> 5В висновком на платі;
– GND> GND;
– Data> 12 висновком на платі.
Етап 3.
Основою всієї прошивки автор вибрав файл бібліотеки. Скачав, який він, і помістив його в папку з бібліотеками Arduino.
ПО для передавача.
Перед тим, як завантажувати код прошивки в плату, автор виставив наступні параметри IDE:
– Board -> Arduino Nano (або та плата, яку ви використовуєте);
– Serial Port ->
Після установки параметрів, автор скачав файл прошивки Wireless_tx і завантажив його на плату:
ПО для приймача
Автор повторює ті ж дії і для приймаючої плати:
– Board -> Arduino UNO (або та плата, яку ви використовуєте);
– Serial Port -> COM XX (перевірте com порт, до якого підключений ваша плата).
Після того як автор встановив параметри, викачує файл wireless_rx і завантажує його в плату:
Після, за допомогою програми, яку можна завантажити, автор згенерував звук для зумера.Етап 4.
Далі, після завантаження ПО автор вирішив перевірити, чи все працює належним чином. Автор під’єднав джерела живлення, і провів рукою перед датчиком, і у нього заробив зумер, а значить все працює як треба.
Етап 5.
Фінальна збірка передавача
Спочатку автор зрізав виступають висновки з приймача, передавача, плат arduino, і т. Д.
Після чого, з’єднав плату arduino з датчиком руху і RF передавачем за допомогою джамперів.
Далі автор почав робити корпус для передавача.Спочатку він вирізав: отвір для вимикача, а також круглий отвір для датчика руху, після чого приклеїв його до корпусу.
Потім автор звернув лист кольорового паперу, і приклеїв на лицьову кришку образу, для того щоб приховати внутрішні частини саморобки.
Після чого, автор почав вставляти електронну начинку всередину корпусу, за допомогою двостороннього скотча.
Фінальна збірка приймача
Автор вирішив поєднати плату Arduino з монтажною платою гумовою стрічкою, а також встановимо RF приймач.
Далі автор вирізає на іншому корпусі два отвори, один для зумера, інше для вимикача.
Після чого, автор встановлює на всі деталі джампери.
Потім автор вставляє готову плату в корпус, і фіксує її двостороннім клеєм.