Умный дом на базе контроллеров Arduino: проектирование и организация управляемого пространства

Проектирование системы

В идеале проектирование умного дома выполняется на этапе проектирования здания, в котором он будет установлен. Это объясняется тем, что для нормальной работы системы необходимо задействовать большое количество сигнальных и электрических кабелей

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

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

  • Детекторы. Их основная задача – сбор информации об окружающей среде.
  • Исполнительные устройства. Воздействуют на реальные объекты, подчиняясь командам.
  • Контроллеры. Анализируют собранную информацию, на основании которой отдают команды приборам-исполнителям.

К системе также относятся сети, передающие команды и собранные данные, а также СХД, где хранятся данные о состоянии исполнительного оборудования и детекторов. К элементам комплекса относят программную систему, обеспечивающую функционирование интеллектуальных приборов и клиентское приложение.

Важный момент в процессе создания проекта – обеспечение нормальной связи между подсистемой управления и подсистемой анализа и исполнения.

Выбранная система связи должна обеспечивать достаточную пропускную способность, выполнять идентификацию активного оборудования и иметь возможность последующей интеграции дополнительно устанавливаемых устройств. Для организации связи можно использовать три метода. Первый – беспроводной протокол. Таким способом можно обустроить два типа сетей: меш-сеть и с фиксированной топологией.

Первый вариант наиболее перспективный. Это одноранговая самонастраивающаяся сеть с большими возможностями. Поддерживается не всеми протоколами. Второй вариант – классическая сеть с ограниченными возможностями, выстраивающаяся вручную. Проводные системы тоже делятся на два типа. В основу первого заложены последовательные протоколы типа 1-wire. Для них требуется специальный кабель. Очень практичный вариант – связь по силовым кабелям. Например, протокол Х10.

Надо признать, что это один из наиболее привлекательных вариантов. Что можно выделить как его несомненное достоинство: широкий ассортимент оборудования и его доступность, относительно невысокая стоимость приборов, наличие большого количества открытого и коммерческого программного обеспечения, которое поддерживает Х10. Все это позволяет смириться с недостатками протокола.

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

Особенности взаимодействия модулей через порты

Все модули, которые будут подключены к плате, имеют как минимум три выхода. Два из них – провода питания, т.е. “земля”, а также напряжение 5 или 3.3 В. Третий провод является логическим. По нему идет передача данных к порту. Для подключения модулей используют специальные сгруппированные по 3 штуки провода, которые иногда называют джамперами.

Так как на моделях Arduino обычно всего 1 порт с напряжением и 1-2 порта с “землей”, то для того, чтобы подключить несколько устройств нужно будет либо спаивать провода, либо использовать макетные платы (breadboard).


К макетной плате можно подключать не только питание и порты платы Arduino, но и другие элементы, такие как, например, сопротивление, регистры и т.д.

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

У некоторых моделей (например, Arduino Zero и MKR1000) рабочее напряжение составляет 3.3 В, поэтому если на порты подать большее значения, то возможно повреждение платы. Вся информация по питанию доступна в технической документации к устройству.

Разработка проекта

На современном рынке представлено множество устройств Arduino, имеющих различную комплектацию. Но универсального решения «на все случаи жизни» не существует. В зависимости от поставленной задачи каждый комплект подбирается в индивидуальном порядке. Чтобы избежать ошибок, требуется разработка проекта.

Какие проекты можно создавать на Arduino?

Ардуино позволяет создавать множество уникальных проектов. Вот лишь некоторые из них:

  • Сборка кубика Рубика (система справляется за 0,887 с);
  • Контроль влажности в подвальном помещении;
  • Создание уникальных картин;
  • Отправка сообщений;
  • Балансирующий робот на двух колесах;
  • Анализатор спектра звука;
  • Лампа оригами с емкостным сенсором;
  • Рука-робот, управляемая с помощью Ардуино;
  • Написание букв в воздухе;
  • Управление фотовспышкой и многое другое.

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

Рассмотрим ситуацию, когда необходимо сделать автоматику для дома с одной комнатой.

Такое здание состоит из пяти основных зон — прихожей, крыльца, кухни, санузла, а также комнаты для проживания.

При составлении проекта стоит учесть следующее:

  • КРЫЛЬЦО. Включение света производится в двух случая — приближение хозяина к дому в темное время суток и открытие дверей (когда человек выходит из здания).
  • САНУЗЕЛ. В бойлере предусмотрен выключатель питания, который при достижении определенной температуры выключается. Управление бойлером производится в зависимости от наличия соответствующей автоматики. При входе в помещение должна срабатывать вытяжка, и загорается свет.
  • ПРИХОЖАЯ. Здесь требуется включение света при наступлении темноты (автоматическое), а также система обнаружения движения. Ночью включается лампочка небольшой мощности, что исключает дискомфорт для других жильцов дома.
  • КОМНАТА. Включение света производится вручную, но при необходимости и наличии датчика движения эта манипуляция может происходить автоматически.
  • КУХНЯ. Включение и отключение света на кухне осуществляется в ручном режиме. Допускается автоматическое отключение в случае продолжительного отсутствия перемещений по комнате. Если человек начинает готовить пищу, активируется вытяжка.

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

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

Стоит обратить внимание, что если в доме планируется установка умных розеток, то для управления ими лучше использовать приложения на мобильных устройствах, WIFI или через SMS сообщения. Визуальное программирование для Arduino можно осуществлять с помощью специального приложения FLProg, которое можно скачать с официального сайта http://flprog.ru/. Визуальное программирование для Arduino можно осуществлять с помощью специального приложения FLProg, которое можно скачать с официального сайта http://flprog.ru/

Визуальное программирование для Arduino можно осуществлять с помощью специального приложения FLProg, которое можно скачать с официального сайта http://flprog.ru/.

Этапы создания

Следует сказать, что этапы создания системы «умного дома» с привлечением специалистов или же своими руками будут одинаковыми. Правда, в последнем случае готовый вариант в целом обойдется существенно дешевле, чем если привлекать специалистов, которых на рынке и так не хватает. По этой причине зарплаты у них будут соответствующими, а значит, если вы не хотите тратить лишние средства, то можно обойтись собственными силами. Итак, начнем с комплектующих для этой системы, если вы решили все-таки создавать ее самостоятельно.

Комплектация

Если говорить о комплектации системы, то технология будет включать в себя следующий набор компонентов:

  • датчик движения;
  • датчик температуры и влажности;
  • датчик освещенности;
  • пара температурных датчиков с маркировкой DS18B20;
  • Ethernet-модуль марки ENC28J60;
  • микрофон;
  • переключатель язычкового типа;
  • реле;
  • кабель типа «витая пара»;
  • кабель категории Ethernet;
  • резистор, имеющий сопротивление 4,7 килоома;
  • микропроцессорная плата Arduino.

Алгоритм подключения

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

Если говорить кратко, то поэтапно алгоритм подключения будет выглядеть таким образом:

  • установка кода;
  • настройка приложения для ПК или мобильного;
  • портовая переадресация;
  • осуществление тестирования ПО и датчиков;
  • устранение неисправностей, если они были выявлены при тестировании.

Итак, начнем с установки кода.

Сначала пользователю следует написать ПО в Arduino IDE. В нем представлены:

  • текстовый редактор;
  • создатель проектов;
  • программа для компиляции;
  • препроцессор;
  • инструмент для загрузки ПО в мини-процессор Arduino.

Следует сказать, что существуют версии ПО для основных компьютерных ОС – Windows, Linux, Mac OS X. Если говорить об используемом языке программирования, то речь идет о C++ с рядом упрощений. Программы, написанные пользователями для Arduino, обычно называют скетчами. Ряд функций система создает автоматически и пользователю не нужно разбираться в их написании, прописывая список обычных действий. Также нет необходимости вносить файлы заголовочного типа обычных библиотек. Но пользовательские вставлять необходимо.

Добавлять библиотеки в проектный IDE-менеджер можно различными методами. В виде исходников, прописанных на С++, идет добавление в отдельную директорию на рабочей директории IDE-оболочки. Теперь имена необходимых библиотек появляются в определенном IDE-меню. Те, что вы отметите, войдут в компиляционный список. В IDE существует малое количество настроек, а задавать тонкости компилятора вообще нет возможности. Это сделано для того, чтобы несведущий человек не натворил каких-либо ошибок.

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

Следующий комплекс действий заключается в установке клиента на персональный компьютер или смартфон. Скачать его можно в интернете, в Google Play Market или из другого источника. Для того чтобы сделать это, необходимо открыть файл на телефоне, который вы скачали, после чего щелкнуть по нему и в появившемся окне нажать на клавишу «Установить». При этом следует знать, что для этого должна быть активирована опция, позволяющая осуществлять установку программ не из сервиса Google Play. Чтобы включить эту опцию, необходимо войти в раздел настроек и выбрать там пункт «Безопасность». Именно так и необходимо активировать соответствующую опцию. Когда установка завершится, то можно будет осуществить активацию приложения и настроить его.

Что такое «умный дом»

У этого термина есть более понятный аналог — «домашняя автоматизация». Суть подобных решений состоит в том, чтобы обеспечить автоматическое выполнение различных процессов, происходящих в жилище, офисе или на специализированных объектах. Простейший пример — автоматическое включение освещения в тот момент, когда кто-то из жильцов входит в комнату.


Система «умный дом» от Arduino представляет собой комплект оборудования для управления работой различных устройств с помощью мобильного телефона на базе ОС Android

В любой системе «умный дом» можно выделить следующие составляющие:

Сенсорная часть. Это набор устройств, основная часть которых представлена всевозможными датчиками, позволяющими системе регистрировать события различного характера. Примерами могут служить датчики температуры и движения. Прочие устройства сенсорной части служат для передачи системе команд пользователя. Это выносные кнопки и пульты дистанционного управления с приёмниками. Одним из наиболее часто импользуемых элементов «умного дома» является датчик движения

Исполнительная часть. Это устройства, которыми система может управлять, реагируя таким образом на то или иное событие в соответствии с заданным пользователем сценарием. Прежде всего, это реле, посредством которых контроллер «умного дома» может подавать питание на любой электрический прибор, то есть включать и выключать его. Например, по хлопку в ладони (система «услышит» его при помощи микрофона) можно настроить включение реле, подающего питание на вентилятор

Обратите внимание: в этом примере вентилятор может быть любым. Но можно применить и прибор, специально выпущенный для работы в составе той или иной системы

Например, компания Arduino выпускает для своих систем электромоторчики, при помощи которых можно, допустим, закрывать или открывать форточку, а компания Xiaomi (китайский производитель подобных систем) — устройства управления воздухоочистителем. Такой прибор полностью контролируется системой, то есть она может не только включить его, но и изменить настройки. Электромоторчик является исполнительным устройством, которое включается по сигналу контроллера системы и приводит в движение подключённый к нему механизм

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

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

Современные системы «умный дом» делятся на несколько разновидностей:

  1. Оснащённые собственным контроллером.
  2. Использующие в этом качестве процессор пользовательского компьютера (планшета, смартфона).
  3. Обрабатывающие информацию при помощи удалённого сервера, принадлежащего компании-разработчику (облачный сервис).

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

Сценарии могут быть гораздо более сложными, чем мы описали в примерах. Например, можно научить систему включать бойлер и переводить снабжение горячей водой на него при отключении централизованной подачи, если при этом обнаруживается присутствие кого-то из жильцов в доме (помогают инфракрасные, ультразвуковые датчики, а также датчики движения).

Контроль и управление климатической системой

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

Основные достоинства данной функции:

  1. Отопление, или охлаждение температуры в помещении осуществляется одной общей системой.
  2. Возможность регулировки любых температурных режимов в помещении, в соответствии с погодными условиями климата.
  3. Каждое отдельное устройство имеет свои специальные датчики, которые регулируют работу того или иного механизма, и позволяет контролировать внутренний климат в помещении.

Таблица подключения к Arduino UNO R3 элементов схемы

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

КудаПин Arduino UNO R3Пин устройства/контакт
Модуль на 4 реле D0 общее освещение, D1 отопление, D2 свет в кладовке, D3 на улице.D0D0
D1D1
D2D2
D3D3
Кнопка постановки на сигнализацию/снятияD4
Клавиша включения режима экономии/люди домаD5
D6
Коммуникация с модемомD7RX
D8TX
Светодиод охрана отключена(кр)D9
Охрана активирована (зел)D10
Хозяева дома (кр)D11
Режим экономии (зел)D12
Включение модемаD13D9
Геркон кладовкаA1
Геркон дверь/калиткаA2
ТермометрA3
Определение наличия сети 220 ВA4

Планируемая система полностью не заняла все пины микроконтроллера. Еще есть место для добавления аналогового датчика и одной линии управления. Вариант — использовать свободные контакты для сенсора дыма и сигнализатора. Если планируется расширять конструкцию дальше, — придется брать микроконтроллер Arduino Mega. В нем больше портов ввода/вывода и памяти, при полной программной совместимости.

Платы дополнения (шилды)

Для расширения вспомогательного функционала используются дополнительные платы – шилды. Ниже приведен список самых интересных:

  • LCD Shield определяет метеорологические показатели в помещениях: влажность, скорость ветра, температуру.
  • Motor Shield обеспечивает управление скоростью и оборотами моторов. Есть модели с поддержкой нескольких приводов.
  • Data Logging Shield предназначена для записи и хранения информации до 32 Gb.
  • Relay Shield самая востребованная в системах Smart Homе, рассчитана на обслуживание приборов мощностью 1 КВт.
  • Ethernet Shield от Ардуино обеспечивает независимость Умного дома от ПК, настраивает интернет-связь.
  • Wi-fi Shield нужен для передачи шифрованных данных между Arduino и устройствами.
  • Energy Shield позволяет разнообразить источники питания для подключения проекта.
  • GPRS Shield используется для связи Умного дома с телефоном владельца.

Типы связи систем

Регулятор заряда аккумулятора

Коммуникация для управления этой довольно сложной системой является важным компонентом. Существует несколько основных типов общения:

  • Проводной удаленный метод. Это довольно дорогостоящий метод, так как предполагает прокладку большого количества кабельной продукции. И чем дальше расположен блок управления, тем проблематичнее его связь с контроллером. Чаще всего этот способ общения используется не отдельными людьми, а организациями и государственными структурами для управления простыми процессами в зданиях и прилегающей территории. Его редко используют в домашних условиях.
  • Местная беспроводная связь. Этот тип связи имеет ограниченный диапазон и осуществляется с помощью радиосигнала, Wi-Fi или, в крайнем случае, Bluetooth. Управление осуществляется из любой точки комнаты или даже на прилегающей территории. Однако если дом многоэтажный и все же выполнен из материала, выполняющего экранирующую функцию (облицованный железом или даже из бетонных плит с арматурными стержнями), устанавливаются специальные устройства, усиливающие беспроводной сигнал или дополнительные радиоточки;
  • Проводная комната. Это один из устаревших и устаревших методов, но он все еще имеет хорошую надежность. Связь осуществляется по кабелю, витой паре или по электропроводке. Любой центральный или региональный контроллер умного дома имеет такое подключение. Расширение связи и функций происходит с помощью переключателя, который создает несколько ответвлений. Управление осуществляется нажатием кнопок на панели управления, оно может быть сенсорным или механическим. Но иногда удается установить соединение через компьютер, но терять контроль над мобильностью не очень удобно.
  • Удаленная беспроводная связь. Это возможно, если контроллер умного дома подключен к глобальным сетям или системам расширения связи, обеспечивающим к ним постоянный доступ. Это сети типа GSM / GPRS, любой мобильный интернет. То есть, даже если нет Интернета, вы можете отправить или получить SMS на телефон о состоянии той или иной системы, управляемой контроллером. Основные средства связи – телефон (смартфон), планшет или ноутбук.

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

Сборка «умного дома»: пошаговая инструкция

Вот в какой последовательности необходимо действовать.

Подключение исполнительных и сенсорных устройств

Подключаем все компоненты согласно схеме.

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

Разработка программного кода

Пользователь пишет всю программу целиком в оболочке Arduino IDE, для чего последняя оснащена текстовым редактором, менеджером проектов, компилятором, препроцессором и средствами для заливки программного кода в микропроцессор платы Arduino. Разработаны версии IDE для операционных систем Mac OS X, Windows и Linux. Язык программирования — С++ с некоторыми упрощениями. Пользовательские программы для Arduino принято называть скетчами (sketch) или набросками, программа IDE сохраняет их в файлы с расширением «.ino».

Функцию main(), которая в С++ является обязательной, оболочка IDE создаёт автоматически, прописывая в ней ряд стандартных действий. Пользователь должен написать функции setup() (выполняется единоразово во время старта) и loop() (выполняется в бесконечном цикле). Обе эти функции для Arduino являются обязательными.

Заголовочные файлы стандартных библиотек вставлять в программу не нужно — IDE делает это автоматически. К пользовательским библиотекам это не относится — они должны быть указаны.

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

Вот пример самой простой программы, заставляющей каждые 2 секунды мигать подключённый к 13-му выводу платы светодиод:

Однако в настоящий момент перед пользователем далеко не всегда встаёт необходимость лично писать программу: в сети выложено множество готовых библиотек и скетчей (загляните сюда: http://arduino.ru/Reference). Имеется готовая программа и для системы, рассматриваемой в этом примере. Её нужно загрузить, распаковать и импортировать в IDE. Текст программы снабжён комментариями, поясняющими принцип её работы.

Все программы на Arduino работают по одному принципу: пользователь посылает запрос процессору, а тот загружает необходимый код на экран компьютера или смартфона

Когда пользователь нажимает в браузере или установленном на смартфоне приложении кнопку «Refresh» (Обновление), микроконтроллер Arduino осуществляет отсылку данных этому клиенту. С каждой из страниц, обозначенных как «/tempin», «/tempout», «/rain», «/window», «/alarm», поступает программный код, который и отображается на экране.

Установка клиентского приложения на смартфон (для ОС Android)

Для получения данных от системы «умный дом» в сети можно скачать готовое приложение.

Вот что необходимо сделать владельцу гаджета:

  1. Скачайте файл SmartHome.apk.
  2. Отправьте его на телефон.
  3. Открыв «Менеджер файлов», разместите этот файл.
  4. Щёлкните на нём и выберите «Установить» (должна быть отмечена «галочка», позволяющая осуществлять установку программ вне сервиса Google Play).
  5. Когда установка будет завершена, активируйте приложение.
  6. Выполните его настройку.

С помощью этого приложения можно не только получать информацию от системы «умный дом», но и управлять ею — включать и отключать сигнализацию. Если она включена, то при срабатывании датчика движения приложению будет отправлено уведомление. Опрос системы Arduino на предмет срабатывания датчика движения приложение выполняет с периодичностью раз в минуту.

Активировав иконку «Настройки», можно отредактировать свой IP-адрес.

Настройка браузера на работу с «умным домом»

В адресной строке браузера следует ввести XXX.XXX.XXX.XXX/all, где «XXX.XXX.XXX.XXX» — ваш IP-адрес. После этого появится возможность получать данные от системы и осуществлять управление ею.

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

Работа с роутером

Далее на маршрутизаторе необходимо открыть порт:

  • открываем настройки маршрутизатора;
  • прописываем адрес Arduino IP;
  • открываем порт 80.

Настройка учётной записи на noip.com

Этот этап не является обязательным, но он необходим, если вы хотите присвоить адресу доменное имя. Для этого надо зарегистрироваться на сайте https://www.noip.com/, перейти в раздел «Add host» и ввести IP-адрес системы.

После регистрации на сайте noip.com доступ к системе можно получать не только по IP-адресу, но и по полному доменному имени

Создание проекта завершено, можно проверять работоспособность системы.

Достоинства микроконтроллера 2560

Ардуино – популярнейшая платформа для реализации различных проектов, подходящая инженерам, которые не хотят программировать «пустые» микроконтроллеры и, в принципе, желают свести общение с программной средой к минимуму.

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

Постепенно ставя перед собой более сложные задачи и занимаясь новыми разработками на данном МК, вы со временем столкнетесь с двумя главными проблемами стандартных плат:

  1. Неоптимальные размеры, не подходящие для удобного их размещения во многих корпусах.
  2. Недостача в количестве пинов на ввод-вывод данных.

Проблема № 1

Минимизировать занимаемое место крайне легко – достаточно использовать специальные разновидности МК, будь то нано или мини. Здесь есть некоторые особенности, с недостатком памяти, например, на Attiny85, но для простого функционала – это не столь существенно.

Конечно, для более сложных задач можно докупить специальные модули с дополнительным объемом памяти под инструкции, но это полностью нивелирует все плюсы нано, ведь уменьшенный размер будет компенсирован дополнительным слотом под чип и занятым пином. Относится эта проблема не ко всем платам, и всё та же nano способна полностью копировать функционал уно.

Проблема № 2

Менее приятная, но и у неё есть несколько путей для решения:

Как мы видим, оба выхода из ситуации задействуют «костыли», и элегантными их не назовешь. Но это далеко не единственная проблема. Они или работают частично, или нивелируют достоинства системы, что абсолютно недопустимо для сколь-нибудь сложных проектов.

Благо, есть и третий подход, используемый всё чаще, – Ардуино Мега 2560, проекты на которой уже не страдают от обилия этих «костылей». Есть также аналог данной платы, поддерживающий usb-хосты, но давайте сначала разберёмся с основным МК.

Первое, что бросается в глаза при знакомстве с 2560, – внешний вид, ведь она в 1.8 раз длиннее уно, что является необходимым злом, дабы разместить на ней целых 54 порта.

Притом, 15 из них можно использовать в качестве источников ШИМ-сигналов, чтобы регулировать мощность тока или другие параметры системы. Регуляция осуществляется с помощью широтно-импульсных модуляций, а дополнительные 16 портов под вход могут обработать цифровые сигналы и применяться в качестве всё тех же цифровых выходов. В результате, мы получаем более тонкую, длинную и функциональную плату.

Под связь с несколькими видами устройств установлено 4-о UART интерфейсов, на 0, 1, 14, 19 пинах. Притом, один из них направлен под usb с помощью микроконтроллера ATmega8U2, применяемого в качестве замены привычному USB-TTL, который использовался повсеместно в более старых платах.

Но, что важнее, – прошивка располагается в паблик репозитории, а соответственно, доступна для скачивания и модификации любому желающему. Под связь с дисплеями присутствуют SPI и I2C технологии, которые вы также можете применить в своем проекте.

Передача данных от Ардуино

Сначала мы заставим нашу ардуину передавать данные на отдельный сайт, который будет изображать данные, полученные с датчиков ардуино. Для этого прекрасно подойдет сайт для интернет вещей — dweet.io

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

Попробуем на него передавать данные изменения температуры нашей комнаты.

Можно обойтись без создания собственного ключа, и в коде (где нужно вставить ключ), можно записать все что угодно и сайт все равно вам выведет на экран график изменения отправленных данных по времени. Но для того, чтобы в дальнейшем создать сеть онлайн устройств, придется более серьезно отнестись к данному сайту.

На главной странице можно посмотреть возможные варианты работы данного сайта

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

Что такое «Ардуино» и что можно делать с ним

Arduino — небольшая печатная плата, имеющая собственные процессор и модуль памяти.

Впервые проект Arduino был предложен в 2005 г. студентам итальянского Института интерактивного дизайна Ивреа. Перед разработчиками стояла задача обеспечить малобюджетный и простой способ создания устройств, способных взаимодействовать с окружающей средой. Сегодня на основе «Ардуино» создаются роботы, детекторы, термостаты и любые проекты, на которые способна фантазия программистов и инженеров. Разрабатывать устройства на базе «Ардуино» смогут даже новички.

Девайсом управляет программа, выполняемая процессором платы. Подобные программы пишутся на языке C++ в официальной среде программирования Arduino IDE, реализованной для Windows, MacOS и Linux. Даже в отсутствие навыков разработки и проектирования электронных схем человек способен за пару недель освоиться в программной среде и начать создавать простые девайсы.

Поделитесь в социальных сетях:FacebookTwitterВКонтакте
Напишите комментарий