Охранная сигнализация на ардуино нано

Содержание

Автономная охранная система на Arduino + GSM

Друзья, разрешите представить проектик GSM сигнализации на Arduino. В сети довольно много проектов по типу «Arduino + модем + датчики», однако я часто вижу в них некоторую незаконченность (в особенности, с программной точки зрения): отсутствие гибкости в настройках и конфигурировании. В представленном решении я попытался сделать устройство максимально готовое к «боевым» условиям, предусмотрев все, что может понадобится среднестатистическому пользователю (на мой взгляд).

TL; DR программно и аппаратно задуманное реализовано, тест в реальных условиях запущен, исходники и бинарники опубликованы, корпус не осилил.

Устройство и характеристики

Устройство отправляет SMS при возникновении следующих событий:

  • открытие двери (герконовый датчик);
  • резкое изменение освещения (фоторезистор);
  • движение (PIR датчик);
  • выход температуры из заданного диапазона;
  • низкое напряжение батареи.

Пример SMS с событием

Также, раз в сутки можно настроить время ежедневного отчета

Питается устройство от 3-х батареек AA. Расчетное время работы ≥6мес.

Настройка устройства, считывание логов событий и построение месячного графика температуры происходит с помощью утилиты (Python 2.7 + Tk + pyserial + matplotli).

Основное окно утилиты настройки

Окно лога событий

Окно лога температуры

Сборка устройства

Себестоимость деталей устройства на момент публикации этой статьи составляет примерно 1000-1200 рублей (без учета заказа платы).

Для удобства сборки и надежности в эксплуатации лучше заказать плату. Китайские друзья с известного сайта предлагают сделать 10 штук с доставкой за

$7, а иногда и меньше. Но всегда можно собрать и на макетке, как я и поступил с первым прототипом:

Arduino и совместимые модули были заказаны с aliexpress. Понадобятся:

  • Arduino Pro Mini 3.3v 8MHz (5v 16MHz is also acceptable, but requires different firmware);
  • MH-SR602 MINI Motion Sensor;
  • SIM800C(L) GSM Module;
  • CP2102 MICRO USB to UART TTL Module;
  • DS3231 RTC Module For Raspberry Pi;
  • 3 AA battery holder With ON OFF Switch;
  • различная рассыпуха (резисторы, конденсаторы, зуммер и поч.).

В списке специально указаны названия, дающие нужный результат при вводе в поиск.

Схема устройства

Для снижения энергопотребления с платы Arduino нужно обязательно удалить резистор светодиода питания и регулятор напряжения. Проект платы сделан в Ki-CAD.

Использование

Локализация

Поддержаны два языка для программы конфигурирования и текста SMS: английский, русский. При желании не сложно добавить поддержку других языков: все локализуемые строки вынесены в отдельный файл (принимаю issue с реквестом, если приложите переводы всех строк).

Полевые испытания

Прошу прощения за эстетику монтажа.

Установка на входную дверь. Часть конструкции справа (непосредственно на самой двери) — магнит для срабатывания геркона

На место постоянного использования (гараж) устройство было установлено 4 месяца назад. Для целей усиленного тестирования, функция расписания не используется (по каждому событию отправляется SMS). В среднем получается 5 SMS в день: два при входе в гараж (срабатывает датчик открытия двери и датчик освещения), два при выходе и один «ежедневный отчет». На текущий момент батареи (3x AA) держат напряжение 4.1в при включенном модеме.

Проблемы

За время эксплуатации температура в помещении понизилась с +10°С до -15°С и обнаружилась две проблемы.

  1. Используемый PIR датчик начинает давать ложные срабатывания при низких температурах. При +5°С использование стало совсем невозможным: число ложных срабатываний превысило одно в день. Попытка замены датчика на другой проблему не решило, поэтому сейчас этот датчик временно отключен. Что с этим делать пока не понятно.
  2. Датчик температуры, встроенный в DS3231 при -10°С и ниже начал сходить с ума: периодически выдает случайные значения, например, «-84°С» или «+115°С». Интересно, что RTC работает нормально. На текущий момент не понятно, проблема ли это конкретно моего экземпляра или нет. Жду для проверки второй идентичный модуль, при повторении с ним проблемы в устройство будет добавлен DS18B20.

В остальном полет нормальный.

Что дальше

В планах (когда-нибудь):

  • спроектировать и напечатать корпус;
  • подключить ESP-01 для конфигурации и просмотра логов через браузер с телефона.

Отладка

Отладочные сообщения выводятся в виртуальный COM на 250kbod. Нужно замкнуть на землю D12, чтобы отключить детекцию подключенного USB (чтобы устройство продолжало работу в нормальном режиме). Конфигурирование через утилиту продолжит работать нормально.

Ссылки

Репозиторий проекта: github
Доступны схема и плата в Ki-CAD, прошивка и исходники для Arduino, exe и исходники утилиты конфигурации.

Источник

Сигнализация на Ардуино своими руками

Простая охранная сигнализация для дома на Arduino Uno — тема данного обзора. Несмотря на то, что микроконтроллеры данного семейства были изначально предназначены для обучения студентов, вполне реально сделать действительно полезный проект на Arduino. Охранные сигнализации для дома или садового участка смогут предупредить владельца о ЧП и послать сообщение с датчиков на смартфон.

Сигнализация для дома на Arduino

Рассмотрим, как сделать на Arduino Uno или Nano сигнализацию для дома, загородного садового участка или гаража. В проекте мы использовали сенсор движения, датчик воды и температуры — это набор основных сенсоров для самой простой системы оповещения. Вы узнаете о прорыве водопровода, снижении температуры в доме или проникновении посторонних людей в помещении в любое время и в любом месте.

Датчики Ардуино для охранной сигнализации

В данном проекте для передачи информации по сети Интернет мы использовали старый смартфон. Соответственно в месте расположения вашей недвижимости должен быть сигнал GPRS и у любого сотового оператора подключен самый простой тариф с выходом в Интернет. Если эти условия не выполняются, то в охранной системе предусмотрена звуковая сирена, которая тоже может спугнуть грабителей.

В проекте использованы самые простые сенсоры — температурный датчик DHT11, датчик утечки воды, который можно сделать самому, а также датчик движения. Если вы решите сделать более сложную сигнализацию — рекомендуем вам посмотреть проект пожарной сигнализации или сигнализации на GSM. Также потребуется установить приложение на смартфон и зарегистрировать два аккаунта в Твиттере.

Как сделать сигнализацию Ардуино

Для этого проекта потребуется:

  • Arduino Uno / Arduino Nano / Arduino Mega;
  • смартфон с выходом в Интернет;
  • блютуз модуль HC-05;
  • датчик температуры и влажности DHT11;
  • датчик утечки воды (water sensor);
  • датчик движения и кнопка (переключатель);
  • светодиоды, резисторы, провода и т.д.

Скетч для сигнализации, все необходимые библиотеки и приложение для смартфона можно скачать одним архивом здесь. Отметим, что нельзя будет дистанционно управлять Arduino, так как проект максимально простой. Вы сможете лишь в сообщениях на смартфоне узнавать о показаниях датчиков, установленных в доме, через заданный промежуток времени или при срабатывании какого-либо датчика.

Скетч охранной сигнализации на Arduino Uno / Nano

Пояснения к коду:

На первый взгляд схема может показаться сложной, однако это не так. Сигнализацию можно собрать на любой плате, в том числе и Arduino Uno. Вместо светодиодов можно можно использовать LED ленту, но при этом питание для платы нужно будет уже 12 Вольт, и подключать LED ленту не к 5V, а к пину Vin Arduino. Со светодиодами можно использовать для питания схемы обычную зарядку от телефона на 5 Вольт.

Установка приложения на смартфон для сигнализации

Чтобы установить приложение закачайте файл home_twit.apk на свой телефон через USB шнур, найдите его в памяти телефона и нажмите «Установить». Этот телефон должен быть всегда в зоне Bluethoth сигнала Ардуино. После установки откройте приложение и нажмите кнопку «Настроить». Здесь потребуется указать минимальное и максимальное значение температуры, при которой будет отправляться сообщение.

А сейчас самое сложное — настройка аккаунтов в Twitter. Укажите в настройках логин пользователя в Твиттере, кому вы будете отправлять сообщение. Также требуется указать логин, API key и API secret key от лица которого будут поступать сообщения. Последние нововведения обусловлены борьбой со спамом и сбором информации о пользователях в соцсети. Как получить API key и API secret — читайте в этом обзоре.

На телефоне, который будет всегда при вас и будет получать сообщения потребуется установить официальное приложение Twitter с PlayMarket и войти в него под нужным логином. В итоге приложение signalizaciya.apk с телефона, находящегося в доме, будет собирать данные с датчиков Ардуино и отправлять их личным сообщением через Твиттер пользователю, под чьим логином вы установили приложение Twitter.

Если у вас возникли проблемы с настройками сигнализации на Ардуино — пишите свои вопросы в комментариях к этому обзору.

Источник

Сайт про изобретения своими руками

МозгоЧины

Сайт про изобретения своими руками

Беспроводная охранная сигнализация на базе Аrduino своими руками

Беспроводная охранная сигнализация на базе Аrduino своими руками

Специально для mozgochiny.ru

Сегодня мы снова затронем вопрос самодельных охранных систем. Ранее на сайте уже публиковалась статья Сигнализация на базе Ардуино своими руками. В этой же статье мы узнаем о том, как можно изготовить дешёвую беспроводную охранную сигнализацию своими руками.

Поделка использует пироэлектрический инфракрасный (PIR) датчик движения. Передача информации осуществляется при помощи приёмопередающего (RF) модуля.

В качестве альтернативы можно воспользоваться инфракрасным (IR) модулем, но он имеет ограниченную дальность действия и может работать только на линии прямой видимости с приёмником. Используя дешевый RF модуль можно добиться дальности действия около 100 м.

Данную статью решил разбить на 3 основные части:

  • Передатчик: распознавание движения и передача данных на приёмник;
  • Приёмник: приём данных с передатчика и активация различных защитных устройств (сигнал тревоги, отправка смс и т.п.);
  • Программное обеспечение: прошивка, что управляет «железом».

Шаг 1: Необходимые детали и инструменты

  • 2 платы ARDUINO UNO/ARDUINO MINI/ARDUINO NANO для приёмника и передатчика;
  • RF приёмопередающий модуль (433 MHZ);
  • PIR датчик движения;
  • 9В батарейки ( 2 штуки) и коннекторы к ним;
  • Зуммер;
  • Светодиод;
  • Резистор с сопротивлением 220 Ом;
  • Макетная плата;
  • Джамперы/провода/перемычки;
  • Монтажная плата;
  • Межплатные штыревые соединители;
  • Переключатели;
  • Корпуса для приёмника и передатчика;
  • Цветная бумага;
  • Монтажный скотч;

Необходимые инструменты:

  • Наборной скальпель;
  • Термоклеевой пистолет;
  • Паяльник;
  • Кусачки /инструмент для снятия изоляции;
  • Ножницы по металлу.

Шаг 2: Передающая составляющая (передатчик)

Передатчик состоит из:

  • Датчика движения;
  • Платы Arduino, что обрабатывает полученные данные с датчика движения;
  • Модуль передатчика, что передаёт данные в приёмник.

Датчик обнаруживает инфракрасное излучение, что идёт от человека или животного и посылают сигнал на плату ARDUINO.

В качестве управляющей платы передатчика использовал Arduino Nano (в силу её стоимости).

Перед тем, как приступать к сборке передающей составляющей системы, необходимо проверить датчик движения.

Перед загрузкой прошивки, необходимо убедится в том, что в настройках Arduino IDE верно установлена текущая плата и последовательный порт. После чего загружаем скетч, что представлен ниже.

После того, как датчик движения зафиксирует движение перед собой, засветится светодиод. Кроме этого в мониторе порта вы сможете увидеть соответствующее сообщение.

test code

Шаг 3: Подключаем RF передатчик

После того, как проверили работоспособность датчика движения, переходим к монтажу RF передатчика на плату.

Передатчик имеет 3 вывода (VCC, GND, и Data).

  • VCC вывод с 5В выводом на плате;
  • GND с GND на плате;
  • Data вывод с 12 выводом на плате.

Шаг 4: Принимающая составляющая (приёмник)

Шаг 5: Программное обеспечение

Основой всей нашей прошивки выступает файл-библиотеки. Скачаем, разархивируем и поместим её в папку с библиотеками Arduino.

Программное обеспечение для передатчика:

Перед тем, как загружать код прошивки в передающую плату, нужно выставить следующие параметры IDE

  • Board -> Arduino Nano (или та плата, которую вы используете);
  • Serial Port -> COM XX (проверьте com порт, к которому подключено ваша плата).

После выставления параметров, скачиваем файл прошивки wireless_tx и загружаем его на плату.

Программное обеспечение для приёмника:

Повторим те же действия и для принимающей платы.

  • Board -> Arduino UNO (или та плата, которую вы используете);
  • Serial Port -> COM XX (проверьте com порт, к которому подключено ваша плата).

Как выставили/проверили параметры, скачиваем файл прошивки wireless_rx и загружаем его на плату.

Примечание : Программа генерации звука взята отсюда.

Wireless_rx_code

Wireless_tx_code

Шаг 6: Тестируем собранные модули на макетной плате

После загрузки кода в обе платы (передающую и принимающую), пришло время проверить все ли работает должным образом.

Извлекаем USB кабеля из плат и подключаем внешние источники питания (батарейки). (Плюсовая клемма подключается к выводу VIN).

Затем проведём рукой перед датчиком движения.

Если зуммер на принимающей плате начнёт издавать шум, значить всё работает и можно запаивать детали на монтажных платах.

Шаг 7:

Срежем выступающее выводы с arduino nano, датчика движения, RF передатчика и питания. Для этой цели хорошо подойдут ножницы по металлу.

Расположим плату arduino nano на монтажке и соединим джамперами с датчиком движения и RF передатчиком.

Подготовка корпуса.

Сделаем круглое отверстие в пластиковом корпусе для установки датчика движения.

Нанесём клей вокруг датчика, чтобы надежно закрепить его в корпусе.

Сделаем прямоугольное отверстия для установки выключателя питания и также вклеим его.

Свернём лист цветной бумаги и положим её под лицевую крышку корпуса. Таким образом мы скрываем внутреннее содержимое коробка.

Кроме этого бумага придаст изделию более презентабельный вид.

Размещаем электронную начинку.

Воспользуемся двухсторонним скотчем, для того чтобы закрепит монтажную плату и батарею внутри корпуса.

Щёлкнем выключателем, чтобы проверить наличие питания.

Шаг 8:

Соединим вместе макетную плату и плату arduino uno с помощью резиновой лентой.

Установим модуль RF приёмника на макетную плату.

Соединим все детали джамперами, согласно приведенной схемы.

Подготавливаем корпус.

Разметим круглое и прямоугольное отверстия на передней стороне корпуса. Вырежем их.

Установим зуммер в круглое, а выключатель в прямоугольное отверстие. После чего надежно закрепим их.

Сложим все детали устройства вовнутрь корпуса. Снова воспользуемся двухсторонним скотчем, чтобы крепко закрепить батарею и плату.

После того, как оба модуля оформлены в корпусах, расположим передатчик в месте, за которым нужно следить, а приёмник следует расположить на рабочем столе.

Шаг 9: Расширяем диапазон

Диапазон действия модулей очень ограничен. Установка антенны только на передатчике или приёмнике значительно расширит диапазон, но установки антенн на каждом блоке увеличит его ещё больше. Большинство людей считают, что крохотная спиралька из медной проволоки на модуле – это и есть антенна, но на самом деле это индуктор.

Если вы внимательно посмотрите на модули RF передачи и приёма то заметите, что в них отсутствуют внешние антенны. Но благодаря маленькому отверстию с маркировкой «ANT» мы сможем припаять в модули внешние антенны.

Как рассчитать длину антенны:

Для расчета длины нужно сначала определить длину волны. Для этого скорость света разделим на частоту. После чего получившее значение делим еще на 4.

В моём случае частота 433MГц. Скорость света 3×10^8 м/с.

Длина волны = Скорость света (c) / Частота (f)= ( 3×10^8) / (433×10^6)= 0.69284 м.

Длина антенны = Длина волны /4=0.69284/4 = 0.1732 м =17.32 см или 6.82 дюйма.

После округления получается 17.3 см или 6.8 дюйма. Отрежем два куска провода нужной длины и припаяем их в отверстия с отметкой ANT в каждый модуль. Припаянные провода значительно увеличат диапазон работы системы.

Шаг 10: Блок питания

Во время загрузки кода, плата питалась от USB кабеля, но если вы захотите использовать её в реальном мире, вам потребуется внешний блок питания. Было бы глупо тянуть кабель питания от беспроводного датчика движения. Поэтому мы будем использовать 9В батарейку в качестве внешнего блока. Большая ёмкость поможет использовать её определенный период времени (2-3 дня). Если датчик движения будет установлен на улице, в систему можно добавить солнечную панель и заряжать батарею в дневное время суток.

На этом в принципе всё. Спасибо за внимание и творческих всем успехов.

Источник

Adblock
detector