XXV муниципальная научно-практическая конференция обучающихся
«Культура. Интеллект. Наука»
(муниципальный этап Краевого форума «Молодежь и Наука»)
Система удаленного контроля помещений
Секция: «Информационные системы и технологии
в науке, технике и образовании»
проектно-исследовательская работа
Выполнил:
Пимонов Даниил Дмитриевич,
Гимназия №91, 9 кл.
Руководитель:
Сиротинина И.В.,
учитель информатики
Железногорск – 2017
Оглавление
ВВЕДЕНИЕ 3
ОСНОВНОЕ СОДЕРЖАНИЕ 3
1 этап. Просмотр тематической литературы и анализ существующих решений. 3
2 этап. Разработка схемы подключения датчиков и модулей. 5
3 этап. Заказ деталей. 6
4 этап. Сбор системы «Системы удаленного контроля помещений» 6
5 этап. Программирование микроконтроллера. 7
6 этап. Тестирование сборки. 8
7 этап. Запуск продукта в эксплуатацию. 9
ЗАКЛЮЧЕНИЕ 9
СПИСОК ЛИТЕРАТУРЫ 10
ПРИЛОЖЕНИЕ 1. Характеристики микроконтроллера ATmega2560 10
ПРИЛОЖЕНИЕ 2. Характеристики модулей 12
Датчик движения (PIR-датчик) 12
Активный зуммер 12
Датчик температуры и влажности DHT22 13
ВВЕДЕНИЕ
Для любого человека актуально обеспечение безопасности помещения, являющегося его собственностью.
Под обеспечением безопасности будем понимать контроль доступа в помещение; сведения о температуре, влажности, загазованности помещения.
Не менее актуально оперативное получение данной информации. На сегодняшний день самым быстрым способом информирования для большинства людей является сотовый телефон
ОСНОВНОЕ СОДЕРЖАНИЕ
Цель: создание удаленной системы контроля, которая будет подстраиваться под любое помещение.
Задачи:
Анализ существующих решений
Изучить основы схемотехники.
Изучить основы программирования микроконтроллера.
Разработка схемы подключения датчиков и модулей
Сборка «Системы удаленного контроля помещений»
Запустить продукт в реализацию
Объект исследования: обеспечение безопасности помещения
Предмет исследования: беспроводная сигнальная система
Методы:
Анализ собранной информации;
Структурно-функциональный метод:
изучение строения, структуры системного объекта;
исследование его элементов и их функциональных характеристик;
анализ изменения этих элементов и их функций;
Информационное и предметное моделирование;
Наблюдение;
Проверочные и воспроизводящие эксперименты.
1 этап. Просмотр тематической литературы и анализ существующих решений.
Анализ рынка беспроводных сигнальных систем и систем оповещения показал достаточно большое разнообразие данного продукта. Стоимость устройств варьируется от 3500 руб. и выше. Приобретение готового решения для меня не совсем оправдано, кроме того, было очень интересно разобраться в работе сигнальных систем на базе микроконтроллера.
После изучения материала по данной теме[1],[2],[4] для основы системы контроля была выбрана аппаратная платформа Arduino.
Почему была выбрана аппаратная платформа Arduino:
Arduino — это open-source проект.
Простота первого запуска.
Распаковка устройства, подключение его к компьютеру, установка среды разработки, написание программы «Hello, world!» и загрузка ее в память занимает минут десять. Десять минут и Arduino уже выполняет твою программу, мигая светодиодом.
Кроссплатформенная среда разработки
В среде Arduino IDE используется Си-подобный язык программирования, к которому можно подключать множество готовых библиотек.
Большое сообщество. В ходе работы всегда возникают какие-то сложности и можно обратиться за помощью.
Огромное количество готовых расширений — шилдов. Большое количество готовых модулей, уже реализующих ту или иную функцию на аппаратном уровне (модули связи, дальномеры, например) позволяет просто достать модуль из коробки, подключить проводом к Arduino или вставить его в разъем и начать писать программу для этого устройства. Если готовый шилд оказывается дорогим или не совсем подходящим для решения требуемой задачи, или же хочется травить/паять/сверлить — то ничего этому не мешает.
Литература, уроки. Когда начинаешь с чем-то разбираться, то различные пошаговые руководства многократно ускоряют этот процесс и для Arduino подобного материала предостаточно.
Arduino - это удобная платформа быстрой разработки электронных устройств и электронный конструктор для новичков и профессионалов. Платформа пользуется огромной популярностью во всем мире благодаря удобству и простоте языка программирования, а также открытой архитектуре и программному коду. Плата Arduino состоит из микроконтроллера Atmel AVR [3] и элементов обвязки для программирования и интеграции с другими схемами. На многих платах присутствует линейный стабилизатор напряжения +5 В или +3,3 В.
Тактирование осуществляется на частоте 16 или 8 МГц кварцевым резонатором (в некоторых версиях – керамическим резонатором).
В микроконтроллер предварительно прошивается загрузчик Boot-Loader, поэтому внешний программатор не нужен. Устройство программируется через USB без использования программаторов. Существует несколько версий платформ Arduino. Версия Leonardo базируется на микроконтроллере ATmega32u4. Uno, Nano, Duemilanove построены на микроконтроллере Atmel ATmega328. Старые версии платформы Diecimila и первая рабочая Duemilanoves были разработаны на основе Atmel ATmega168. Arduino Mega2560, в свою очередь, построена на микроконтроллере ATmega2560. А самые последние версии Arduino Due – на базе микропроцессора Cortex.
Разработка собственных приложений на базе плат, совместимых с архитектурой Arduino, осуществляется в официальной бесплатной среде программирования Arduino IDE. Среда предназначена для написания, компиляции и загрузки собственных программ в память микроконтроллера, установленного на плате Arduino-совместимого устройства. Основой среды разработки является язык Processing/Wiring – это фактически обычный C++, дополненный простыми и понятными функциями для управления вводом/выводом на контактах. Существуют версии среды для операционных систем Windows, Mac OS и Linux.
Самым оптимальным вариантом по стоимости, по количеству подключаемых датчиков, по мощности и по потребляемому питанию оказалась «Arduino mega2560» (рис.1) на базе микроконтроллера ATmega2560.
Рис.1. «Arduino Mega2560»
На плате предусмотрено всё необходимое для удобной работы с микроконтроллером: 54 цифровых входа/выхода (из которых 15 могут использоваться в качестве ШИМ-выходов), 16 аналоговых входов, 4 UART (аппаратных приемопередатчика для реализации последовательных интерфейсов), кварцевый резонатор на 16 МГц, разъём USB, разъём питания, разъём ICSP для внутрисхемного программирования и кнопка сброса[4].
Характеристики микроконтроллера ATmega2560 см. Приложение 1.
2 этап. Разработка схемы подключения датчиков и модулей.
Рис. 2. Схема «Системы удаленного контроля помещений»
2
3
5
1
4
Для обеспечения беспроводной связи стоял выбор, передавать информацию через Wi-Fi-модуль или GSM-модуль. Был выбран GSM-модуль, поскольку на сегодняшний день он является наиболее распространённым стандартом связи [6] и может работать от литиевых аккумуляторов на случай отключения электропитания.
Далее была разработана схема подключения датчиков и модулей к микроконтроллеру Рис.2.
Принцип работы схемы.
Датчик движения (3) реагирует на перемещение, при этом генерируется сигнал, который по цифровому каналу передаётся на цифровой порт микроконтроллера (1). «Arduino» (1) считывает сигнал. Если сигнал «0», то никаких действий не происходит, если сигнал «1», то микроконтроллер включит зуммер (4) и отправит СМС-оповещение через GSM- модуль (2) на сотовый телефон. [8]
Микроконтроллер (1) включает модуль «Active buzzer» (4) (зуммер издаёт звук), если передаётся на него сигнал «0», передача сигнала «1» на зуммер ничего не включает. [7]
Датчик температуры (5) измеряет температуру и влажность и отправляет эти данные на «Arduino» (1) через цифровой порт. Если температура превышает норму (+40), то отправляется СМС-оповещение через GSM-модуль на сотовый телефон. [9]
Интерфейс GSM -модуля (2) с «Arduino»(1) обеспечивается через 2 цифровых порта (один отправляет, другой принимает информацию). В GSM –модуле уже есть прошивка, он автоматически отправляет информацию, полученную с SIM карты на микроконтроллер и выполняет команды, полученные от микроконтроллера.
3 этап. Заказ деталей.
Были заказаны следующие детали:
Arduino Mega2560;
Плата расширения MEGA Sensor Shield V1.0 V2.0
Модули:
Датчик движения (PIR-датчик);
Датчик температуры и влажности DHT22;
GSM-модуль SIM800 L, GSM –A6;
Активный зуммер
Характеристики модулей указаны в Приложении 2.
На приобретение деталей было истрачено 1500 руб.
4 этап. Сбор системы «Системы удаленного контроля помещений»
Далее была собрана «Система удаленного контроля помещений» по сделанной ранее схеме. Рис.3.
Рис.3. Фотография собранной системы
В первоначальном варианте была протестирована работа модуля GSM SIM800 L.
Данный модуль на команды не отвечал, сообщение не отправлял и на связь не выходил, т.е. не работал через sim-карту. Следующим был протестирован Модуль GSM –A6 и показал себя в работе корректно. Модуль совместим с российскими сотовыми операторами, потребляет меньше тока, продается на плате с внешним питанием от 5В. Рис.4.
Рис.4. Smart Electronics GPRS модуль GSM модуль A6
Для соединения модулей с «Arduino» была использована плата расширения MEGA Sensor Shield V1.0 V2.0 . Данная плата значительно расширяет количество выходов питания и «земли».
Питание системы осуществляется через USB-порт, который можно подключить:
К сети 220V через блок питания;
К аккумулятору;
К батарейкам.
5 этап. Программирование микроконтроллера.
Для того чтобы микроконтроллер отправлял сигналы на модули и получал сигналы его нужно было запрограммировать.[5]
Микроконтроллер «Arduino mega2560»
Алгоритм работы:
При срабатывании датчика движения отправляется СМС- оповещение и включается сирена.
Если температура превысит отметку в +40°С, придёт СМС-оповещение.
Добавлена возможность включать/отключать режим охраны и узнавать температуру и влажность по СМС-командам.
Скриншот программы представлен на Рис.5.
Рис.5. Скриншот программы для микроконтроллера
6 этап. Тестирование сборки.
Принцип действия системы.
При включении «Системы удаленного контроля помещений» приходит смс-оповещение об успешном запуске.
Для включения режима «охраны», нужно отправить на GSM-модуль СМС-команду «1», а для выключения СМС-команду «0».
В режиме «охраны» микроконтроллер будет считывать показания с датчика движения и если он сработает, то микроконтроллер включит зуммер и отправит СМС-оповещение.
Если при считывании информации с датчика температуры показатели превысят пределы нормы, то микроконтроллер отправляет GSM-модулю команду для отправки СМС-оповещения на ваш телефон.
Можно узнать температуру, отправив на GSM-модуль команду «temper».
Система была успешно протестирована в помещении квартиры, в помещении гаража.
Для использования в помещении подвала можно подключить к «Arduino»к через экранированные сигнальные проводники два водостойких датчика температуры ds18b20: один будет контролировать температуру в верхней части подвала, второй внизу и установить температурный порог, при котором будет приходить СМС-оповещение -1С – «cold», при +5С – «heat», одновременно можно использовать команду «temper».
7 этап. Запуск продукта в эксплуатацию.
В настоящее время «Система удаленного контроля помещений» используется в квартире, где я проживаю.
ЗАКЛЮЧЕНИЕ
Разработана и собрана «Система удаленного контроля помещений», которая является альтернативой существующих дорогостоящих вариантов. В процессе работы разобрался с принципом работы и системой программирования микроконтроллера «Arduino mega2560», был освоен язык программирования Си и разработана схема подключения модулей к микроконтроллеру «Arduino mega2560».
К этому проекту можно подключить дополнительно несколько датчиков движения и зуммеров или любых других модулей, которые могут расширить возможности системы, т.е. контролировать большее количество дверей, окон и т.д.
Данная «Система охраны помещений» позволяет добавлять или заменять модули. Например, добавлять датчики газа, дыма, влажности. Возможно дальнейшее совершенствование системы.
Возможные области применения: квартира, гараж, подвал, дача. В настоящее время система используется в помещении квартиры.
СПИСОК ЛИТЕРАТУРЫ
Антонов А. Чем микроконтроллер отличается от микропроцессора: // Роботоша.27.05.2014. URL: http://robotosha.ru/electronics/microcontroller-vs-microprocessor.html
Антонов А. Почему я использую Arduino в своем мобильном роботе: // Роботоша. 28.05.2014.URL: http://robotosha.ru/robotosha/10-reasons-use-arduino.html
Характеристики микроконтроллер ATmega: URL: http://www.atmel.com/images/Atmel-8271-8-bit-AVR-Microcontroller-ATmega48A-48PA-88A-88PA-168A-168PA-328-328P_datasheet_Complete.pdf
Как хранить данные в Arduino: //Блог об Ардуино, электронике И ИТ. 08.11.2015. URL: http://soltau.ru/index.php/arduino/item/378-kak-khranit-dannye-v-arduino
Установка и настройка Arduino под Windows. URL: http://wiki.amperka.ru/%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0-%D0%B8-%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0-arduino-ide
Arduino и GSM модуль SIM800L. Управление по SMS. URL: https://www.youtube.com/watch?v=Ys_gLrnyF_c
Инструкция по подключению пьезоизлучателя к Arduino. //Блог об Ардуино, электронике И ИТ. 05.01.2016. URL: http://soltau.ru/index.php/arduino/item/357-how-connect-buzzer
Пирлоэлектрический датчик движения - общая информация URL: http://arduino-diy.com/arduino-piroelektricheskiy-infrakrasnyy-PIR-datchik-dvizheniya
Arduino и датчик температуры и влажности DHT22 . 25.05.2015. URL: https://geekelectronics.org/arduino/podklyuchenie-datchika-temperatury-i-vlazhnosti-dht22-k-arduino.html
ПРИЛОЖЕНИЕ 1. Характеристики микроконтроллера ATmega2560
Тактовая частота: 16 МГц
Напряжение логических уровней: 5 В
Входное напряжение питания: 7–12 В
Портов ввода-вывода общего назначения: 54
Максимальный ток с пина ввода-вывода: 40 мА
Максимальный выходной ток пина 3.3V: 50 мА
Максимальный выходной ток пина 5V: 800 мА
Портов с поддержкой ШИМ: 15
Портов, подключённых к АЦП: 16
Разрядность АЦП: 10 бит
Flash-память: 256 КБ
EEPROM-память: 4 КБ
Оперативная память: 8 КБ
Габариты: 101×53 мм
Operating Voltage: ̶ 1.8 - 5.5V
Temperature Range: 40C to +85C
ПРИЛОЖЕНИЕ 2. Характеристики модулей
Датчик движения (PIR-датчик)
Параметр
|
Значение
|
|
|
Размеры
|
примерно 3.2см x 2.4см x 1.8см
|
Напряжение питания
|
DC 4.5V- 20V
|
Ток на OUT
|
<60uA
|
Напряжение на выходе
|
Высокие и низкие уровни в 3.3V TTL логике
|
Дистанция обнаружения
|
3 — 7м (настраивается)
|
Угол обнаружения
|
до 120°-140° (в зависимости от конкретного датчика и линзы)
|
Длительность импульса при обнаружении
|
5 — 200сек.(настраивается)
|
Время блокировки до следующего замера
|
2.5сек. (но можно изменить заменой SMD-резисторов)
|
Рабочая температура
|
-20 — +80°C
|
Режим работы
|
L — одиночный захват, H — повторяемые измерения
|
Размеры
|
примерно 3.2см x 2.4см x 1.8см
|
Напряжение питания
|
DC 4.5V- 20V
|
Ток на OUT
|
<60uA
|
Напряжение на выходе
|
Высокие и низкие уровни в 3.3V TTL логике
|
Дистанция обнаружения
|
3 — 7м (настраивается)
|
Угол обнаружения
|
до 120°-140° (в зависимости от конкретного датчика и линзы)
|
Длительность импульса при обнаружении
|
5 — 200сек.(настраивается)
|
Время блокировки до следующего замера
|
2.5сек. (но можно изменить заменой SMD-резисторов)
|
Рабочая температура
|
-20 — +80°C
|
Режим работы
|
L — одиночный захват, H — повторяемые измерения
|
Активный зуммер
Номинальная частота
|
4 кГц
|
Интенсивность
|
80 дБ
|
Рабочее напряжение
|
5 В
|
Номинальное потребление тока
|
5 мА
|
Датчик температуры и влажности DHT22
Питание от 3 до 5В.
Максимально потребляемый ток - 2.5мА при преобразовании (при запросе данных).
Рассчитан на измерение уровня влажности в диапазоне от 0% до 100%. При этом точность измерений находится в диапазоне 2%-5%.
Измеряет температуру в диапазоне от -40 до 125 градусов с точностью плюс-минус 0.5 градусов по Цельсию.
Частота измерений до 0.5 Гц (одно измерение за 2 секунды).
Размер корпуса: 15.1 мм x 25 мм x 7.7 мм.
4 коннектора. Расстояние между соседними - 0.1".
GPRS/GSM модуль A6
Размеры 22,8 × 16,8 × 2,5 мм
Рабочая температура -30 ℃ до 80 ℃ +
Рабочее напряжение 3.3V — 4.2V;
Напряжение питания 3.4V;
Среднее энергопотребление в режиме ожидания 3mA;
|