Arduino — готовая платформа для управления различными сопрягаемыми электронными устройствами, контроллер простыми словами, в основе которой лежит плата с собственной памятью, процессором и программным обеспечением. Разработана она была в 2005г., и ориентирована на непрофессиональных пользователей, которые с её помощью могут создавать простые автоматизированные системы управления. В том числе возможно построить на Arduino систему умный дом, интегрировав в данную среду различные датчики и электронные устройства.
Описание контроллера Arduino
Программная составляющая контроллера Arduino состоит из бесплатно распространяемой оболочки, обладающей простым, понятным на интуитивном уровне интерфейсом IDE. Программирование на ней можно осуществлять с платформ Windows, Linux и MacOSX. В оболочке уже имеется весь набор для загрузки программ сразу в контроллер, поэтому при работе с ней не требуется специальный программатор.
Для загрузки достаточно соединить плату Arduino с ПК или ноутбуком через USB-порт, после чего произвести загрузку нужной программы на устройство. При желании можно прошить загрузчик и самостоятельно: оболочка IDE позволяет поддерживать многие недорогие программаторы. Подсоединить их можно через штыревые выходы, специально предназначенные для внутреннего программирования:
- AVR через разъём ICSP
- ARM через JTAG.
Аппаратная составляющая платформы монтируется из печатных плат, выпускающихся как официальным обладателем товарного знака, так и многими другими производителями. На сегодня в продаже насчитывается свыше 20 разновидностей плат-контроллеров, которые могут сопрягаться между собой специальными разъёмами в виде своеобразного сэндвича. Большинство современных устройств типа Arduino используют следующие контроллеры:
- Atmel-AVR.
- ATmega-328.
- ATmega-168.
- ATmega-2560.
- ATmega-32U4.
- ATTiny-85.
Перечисленные микроконтроллеры работают на частоте 8 или 16 мегагерц. К плате контроллера возможно подключение различных электронных компонентов – датчиков, светодиодных осветителей, передающих устройств и т.д. Благодаря этому, Arduino удобно использовать для самостоятельного проектирования и сборки системы «умный дом».
Принцип работы системы Arduino
Получение и передача данных контроллером производится через порты. Всего на стандартной плате насчитывается свыше десятка различных портов, число которых можно увеличить присоединив ещё один такой же контроллер. Все порты Arduino делятся на два типа, для присоединения различных приборов:
- Аналоговые.
- Цифровые.
Инициировать работу аналоговых портов следует, использовав в загружаемой программе pin-Mode-функцию:
- Выбираем номер нужного пина.
- Выставляем режим «Приём данных» (OUTPUT) или «Передача данных» (INPUT).
Широтноимпульсные цифровые модуляторы (ШИМ) имеют более интеллектуальный интерфейс, позволяющий им как принимать, так и передавать нужные данные. На плате ШИМ-порты обозначаются тильдой (~) или аббревиатурой PWM. При подключении к плате-контроллеру внешних датчиков и приборов следует учитывать и технические показатели портов. Они способны выдавать:
- 5 вольт напряжения.
- 0,02 ампера силы тока.
Если использовать в качестве питающего элемента для платы батарейки или АКБ напряжением свыше 12 вольт, возможен её перегрев и выход из строя. При снижении питающего напряжения до 6-7 вольт наоборот, на выходе порта может оказаться меньше 5В, что, в свою очередь, вызовет сбои в работе. Собранные в единый комплекс устройства, детекторы и датчики передают информацию на процессор Arduino, а оттуда, через подключенный модуль GPS или GSM, отправляется на компьютер или иное управляющее устройство с установленным софтом, принимающее решение о выдаче определённой команды. Это может быть включение-отключение бытового прибора, либо передача данных на мобильное устройство владельца дома.
Проект под систему для разных зон квартиры
Прежде чем приступить к сборке электронной системы следует составить план проекта умного дома на Arduino. Для примера возьмём небольшой дом, и попробуем составить схему работы «умного комплекса». Итак, нам необходимо в разных зонах обеспечить интеллектуальное функционирование разных приборов.
- Вход на придомовую территорию следует обеспечить автоматическим включением освещения в тёмное время, при подходе хозяев к дому, также при выходе из дома, при открывании двери. Потребуются: датчик движения и датчик открытия двери.
- Прихожая квартиры — при движении вдоль прохожей должно автоматически включаться освещение. Потребуются: датчик движения.
- Санузел. Автоматическое включение электрической водонагревательной установки при приходе домой хозяев. Вытяжка и освещение в санузле включается при открытии двери. Потребуются: датчик движен
ия и открытия двери. - Кухня. Освещение включается при входе жильца в помещение.
- При включении варочной плиты должна одновременно запускаться вытяжка. Потребуются реле для установки на питающую проводку электроплиты и датчик присутствия.
- Жилые комнаты. Автоматическое включение света, регулировка температуры электроконвекторами в зимнее время и кондиционерами летом. Потребуются детектор присутствия, датчик температуры и освещённости.
Установка системы: основные шаги
Основная задача – правильно подключить датчики к плате-контроллеру. Прежде всего, потребуется установить модуль Ethernet ENC28J60, предназначенный для объединения различных умных устройств в единую локальную сеть. Остальные детекторы соединяются с платформой либо посредством проводов (витых пар) со стандартными разъёмами, либо по беспроводной связи. В последнем случае потребуется присоединить к плате модули GPS или GSM.
Также потребуется написать программу для каждого прибора в оригинальной оболочке IDE. Это сделать не так уж сложно даже начинающему пользователю, поскольку оболочка имеет текстовый редактор, менеджером проектов и устройствами заливки программных кодов. Программа пишется на упрощённом языке C++. Сохраняется каждая из составленных программ в памяти с расширением (ino).
Платформа Arduino на сегодня обрела такую популярность, что начинающему пользователю зачастую вовсе не обязательно самостоятельно писать программы к ней. В интернет-сети имеется огромное количество бесплатных программ и целых библиотек, и для управления умными устройствами и датчиками. В качестве примера можно испольовать этот сайт.
Визуализировать управление «умным домом» на Arduino можно при помощи мобильного устройства или компьютера с установленной на них программой, которую можно найти и скачать бесплатно. При её установке, на дисплее устройства будет отображаться каждый подключённый к системе интеллектуальный прибор.
Чтобы получать данные от «умного дома» на Arduino в удалённом режиме, рекомендуется скачать в сети уже разработанное бесплатное приложение. Пошагово весь процесс установки программы выглядит так:
- На смартфон закачивается файл SmartHome.apk. с Google Play.
- Файл с приложением размещается в «менеджере файлов» и выставлением галочки активируется действие «Установить».
- По окончании установки программу нужно будет активировать и настроить под передающие устройства, подключённые к плате-контроллеру.
Материалы, необходимые для сборки
Сегодня множество фирм занимается разработкой и изготовлением самых разных приборов, интегрируемых с платформой Arduino. Для систем «умный дом» имеются следующие устройства, совместимые с данной платой:
- Климатические сенсоры, отслеживающие температуру и влажность воздуха как в помещении, так и снаружи.
- Датчики уровня освещённости, отвечающие за автоматическое включение ламп. При использовании устройств способных плавно менять уровень освещения по мере наступления темноты, нужно применять светодиоды. Обычные лампы накаливания или люминесцентные светильники не предназначены для подобных перепадов напряжения.
- Пространственные сенсоры, оснащённые гироскопом и компасом. Позволяют отслеживать перемещение какого-либо предмета в отсутствие хозяев.
- Датчики движения, действующие на основе фотоэлементов, ультразвука, или ИК-излучения.
- Аварийные детекторы – пожарные датчики, сенсоры протечки воды, утечки газа.
- Датчики-размыкатели открытия дверей и окон.
- Вентили-клапана для удалённого перекрытия газовых и водяных магистралей.
При необходимости этот список можно дополнить другими устройствами – микрофонами, моторчиками с сервоприводами, звуковой и световой сигнализацией. В целом же, платформа Arduino для непрофессиональных электронщиков, решивших самостоятельно собрать систему «умный дом».