Специально для 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 (в силу её стоимости).
Перед тем, как приступать к сборке передающей составляющей системы, необходимо проверить датчик движения.
- vcc > 5v;
- GND > GND;
- Out > D2.
Перед загрузкой прошивки, необходимо убедится в том, что в настройках Arduino IDE верно установлена текущая плата и последовательный порт. После чего загружаем скетч, что представлен ниже.
После того, как датчик движения зафиксирует движение перед собой, засветится светодиод. Кроме этого в мониторе порта вы сможете увидеть соответствующее сообщение.
test code
Шаг 3: Подключаем RF передатчик
После того, как проверили работоспособность датчика движения, переходим к монтажу RF передатчика на плату.
Передатчик имеет 3 вывода (VCC, GND, и Data).
- VCC вывод с 5В выводом на плате;
- GND с GND на плате;
- Data вывод с 12 выводом на плате.
Шаг 4: Принимающая составляющая (приёмник)
-
Модуля RF приёмника, что принимает данные с передатчика;
-
Платы Arduino, что обрабатывает данные полученные с приёмопередающего модуля и передает команды на выходные устройства (тревога, смс, email);
-
Зуммера (динамик).
-
Вывод VCC с 5В выводом платы;
-
GND с GND платы;
-
Data вывод с 12 выводом на плате.
Шаг 5: Программное обеспечение
Основой всей нашей прошивки выступает файл-библиотеки. Скачаем, разархивируем и поместим её в папку с библиотеками Arduino.
Программное обеспечение для передатчика:
Перед тем, как загружать код прошивки в передающую плату, нужно выставить следующие параметры IDE
- Board -> Arduino Nano (или та плата, которую вы используете);
- Serial Port -> COM XX (проверьте com порт, к которому подключено ваша плата).
После выставления параметров, скачиваем файл прошивки wireless_tx и загружаем его на плату.
Программное обеспечение для приёмника:
Повторим те же действия и для принимающей платы.
- Board -> Arduino UNO (или та плата, которую вы используете);
- Serial Port -> COM XX (проверьте com порт, к которому подключено ваша плата).
Как выставили/проверили параметры, скачиваем файл прошивки wireless_rx и загружаем его на плату.
Примечание : Программа генерации звука взята отсюда.
Шаг 6: Тестируем собранные модули на макетной плате
После загрузки кода в обе платы (передающую и принимающую), пришло время проверить все ли работает должным образом.
Извлекаем USB кабеля из плат и подключаем внешние источники питания (батарейки). (Плюсовая клемма подключается к выводу VIN).
Затем проведём рукой перед датчиком движения.
Если зуммер на принимающей плате начнёт издавать шум, значить всё работает и можно запаивать детали на монтажных платах.
Шаг 7:
Срежем выступающее выводы с arduino nano, датчика движения, RF передатчика и питания. Для этой цели хорошо подойдут ножницы по металлу.
Расположим плату arduino nano на монтажке и соединим джамперами с датчиком движения и RF передатчиком.
Подготовка корпуса.
Сделаем круглое отверстие в пластиковом корпусе для установки датчика движения.
Нанесём клей вокруг датчика, чтобы надежно закрепить его в корпусе.
Сделаем прямоугольное отверстия для установки выключателя питания и также вклеим его.
Свернём лист цветной бумаги и положим её под лицевую крышку корпуса. Таким образом мы скрываем внутреннее содержимое коробка.
Кроме этого бумага придаст изделию более презентабельный вид.
Размещаем электронную начинку.
Воспользуемся двухсторонним скотчем, для того чтобы закрепит монтажную плату и батарею внутри корпуса.
Щёлкнем выключателем, чтобы проверить наличие питания.
Шаг 8:
Соединим вместе макетную плату и плату arduino uno с помощью резиновой лентой.
Установим модуль RF приёмника на макетную плату.
Соединим все детали джамперами, согласно приведенной схемы.
Подготавливаем корпус.
Разметим круглое и прямоугольное отверстия на передней стороне корпуса. Вырежем их.
Установим зуммер в круглое, а выключатель в прямоугольное отверстие. После чего надежно закрепим их.
Сложим все детали устройства вовнутрь корпуса. Снова воспользуемся двухсторонним скотчем, чтобы крепко закрепить батарею и плату.
После того, как оба модуля оформлены в корпусах, расположим передатчик в месте, за которым нужно следить, а приёмник следует расположить на рабочем столе.
Шаг 9: Расширяем диапазон
Диапазон действия модулей очень ограничен. Установка антенны только на передатчике или приёмнике значительно расширит диапазон, но установки антенн на каждом блоке увеличит его ещё больше. Большинство людей считают, что крохотная спиралька из медной проволоки на модуле – это и есть антенна, но на самом деле это индуктор.
Если вы внимательно посмотрите на модули RF передачи и приёма то заметите, что в них отсутствуют внешние антенны. Но благодаря маленькому отверстию с маркировкой "ANT" мы сможем припаять в модули внешние антенны.
Как рассчитать длину антенны:
Для расчета длины нужно сначала определить длину волны. Для этого скорость света разделим на частоту. После чего получившее значение делим еще на 4.
В моём случае частота 433MГц. Скорость света 3x10^8 м/с.
Длина волны = Скорость света (c) / Частота (f)= ( 3x10^8) / (433x10^6)= 0.69284 м.
Длина антенны = Длина волны /4=0.69284/4 = 0.1732 м =17.32 см или 6.82 дюйма.
После округления получается 17.3 см или 6.8 дюйма. Отрежем два куска провода нужной длины и припаяем их в отверстия с отметкой ANT в каждый модуль. Припаянные провода значительно увеличат диапазон работы системы.
Шаг 10: Блок питания
Во время загрузки кода, плата питалась от USB кабеля, но если вы захотите использовать её в реальном мире, вам потребуется внешний блок питания. Было бы глупо тянуть кабель питания от беспроводного датчика движения. Поэтому мы будем использовать 9В батарейку в качестве внешнего блока. Большая ёмкость поможет использовать её определенный период времени (2-3 дня). Если датчик движения будет установлен на улице, в систему можно добавить солнечную панель и заряжать батарею в дневное время суток.
На этом в принципе всё. Спасибо за внимание и творческих всем успехов.
( Специально для МозгоЧинов #ARDUINO-WIRELESS-HOME-SECURITY-SYSTEM/" target="_blank" rel="noopener noreferrer">)