Петин в. а. создание умного дома на базе arduino

«Умный» дом — что это?

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

В реальности все, конечно, не так волшебно и красочно. Нынешние машины и компьютеры ещё не достигли такого уровня развития. Поэтому функции современного «умного» дома ограничены. К примеру, датчики могут контролировать:

  • Включение-выключение света.
  • Расход энергии.
  • Температуру.
  • Влажность в доме.

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

Технология сборки

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

Итак, как сделать свой дом «умным»? Что для этого нужно? Для начала нужно заняться закупкой необходимых контроллеров
, которые будет необходимо запрограммировать и наладить. На первый взгляд все достаточно просто, но на самом деле могут возникнуть проблемы с эксплуатацией самой системы, для сборки и управления которой необходимы определённые знания. Поэтому компания Arduino постаралась максимально упростить свою систему, с которой может справиться даже ребёнок.

Компания Arduino

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

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

https://youtube.com/watch?v=kBt51h3Wf0s

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

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

Преимущества использования

Если говорить о преимуществах использования такого программно-аппаратного комплекса Arduino для налаживания автоматизации, то можно выделить следующие:

  1. Максимально широкие возможности по настройке проекта Arduino для дома.
  2. Работать такой программно-аппаратный комплекс может автономно.
  3. Простота загрузки программы в контроллер.
  4. Доступная стоимость компонентов.
  5. Существенно упрощено расширение функционала работающей в доме системы.

Управление системами

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

  1. Температурой и влажностью.
  2. Освещенностью.
  3. Аварийными системами безопасности.
  4. Различными бытовыми приборами.

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

Дополнительные устройства

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

  1. Доводчики дверей.
  2. Диммеры для освещения.
  3. Переключатели и различные реле.
  4. Электромоторы.

Принцип работы системы

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

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

Питание

Питание Arduino производится через USB разъем или от внешнего питающего устройства. Источник напряжения определяется в автоматическом режиме.

Если выбран вариант с внешним питанием не через USB, можно подключать АКБ или блок питания (преобразователь напряжения). В последнем случае подключение производится с помощью 2,1-миллиметровго разъема с «+» на главном контакте.

Провода от АКБ подключаются к различным выводам питающего разъема — Vin и Gnd.

Для нормальной работы платформа нуждается в напряжении от 6 до 20 Вольт. Если параметр падает ниже 7 вольт, на выводе 5V может оказаться меньшее напряжение и появляется риск сбоя.

Если подавать 12 В, возможен перегрев регулятора напряжения и повреждения платы. По этой причине оптимальным уровнем является питание с помощью 7 — 12 В.

В отличие от прошлых типов плат, Arduino Mega 2560 работает без применения USB-микроконтроллера типа FTDI. Для обеспечения обмена информацией по USB применяется запрограммированный под конвертер USB-to-serial конвертер.

ПОПУЛЯРНО У ЧИТАТЕЛЕЙ: Что такое умный дом CLAP.

На Ардуино предусмотрены следующие питающие выводы:

  • 5V — используется для подачи напряжения на микроконтроллер, а также другие элементы печатной платы. Источник питания является регулируемым. Напряжение подается через USB-разъем или от вывода VIN, а также от иного источника питания 5 Вольт с возможностью регулирования.
  • VIN — применяется для подачи напряжения с внешнего источника. Вывод необходим, когда нет возможности подать напряжение через USB-разъем или другой внешний источник. При подаче напряжения на 2,1-миллиметровй разъем применяется этот вход.
  • 3V3 — вывод, напряжение на котором является следствием работы самой микросхемы FTDI. Предельный уровень потребляемого тока для этого элемента составляет 50 мА.
  • GND — заземляющие выводы.

Принципиальную схему платы в pdf формате можно посмотреть ЗДЕСЬ.

Связь

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

Модель ATmega 2560 отличается наличием 4 портов, через которые можно передавать данные для TTL и UART. Специальная микросхема ATmega 8U2 на плате передает интерфейс (один из них) через USB-разъем. В свою очередь, программы на ПК получают виртуальный COM.

  • Если на ПК установлен Linux, распознавание происходит в автоматическом режиме.
  • Если стоит Windows, потребуется дополнительный файл .inf.

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

Мигание светодиодов TX и RX свидетельствует о передаче данных. Для последовательной отправки информации применяется специальная библиотека Software Serial.

К особенностям ATmega 2560 стоит отнести наличие интерфейсов SPI и I2C. Кроме того, в состав Ардуино входит библиотека Wire.

Другие идеи проектов

Проекты умного дома на Ардуино

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

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

Что может являться прототипом умного дома на ардуино:

  • Системы освещения с автоматическим включением и отключением в зависимости от показателей датчиков. Наиболее популярнее варианты – использовать датчик освещенности, PIR датчик движения или датчик звука.
  • Дистанционно управляемые электрические приборы. Например, включение или выключение системы отопления в зависимости от температуры или умное управление освещением в помещениях. Здесь вам понадобятся различные виды реле и один из механизмов обеспечения беспроводной связи: WiFi, GPRS, Bluetooth или радиоканал. Управлять устройствами можно через Web-интерфейс (через браузер) или с использованием соответствующего мобильного приложения (можно написать самому или выбрать одну из готовых платформ).
  • Всевозможные системы учета: воды, тепла, электроэнергии. Начинающим доступны любительские датчики напора воды, температуры, влажности, силы тока. Можно использовать и профессиональные приборы, взаимодействуя с ними по одному из промышленных протоколов. Полученные данные можно собирать локально или отправлять в облако для последующего анализа.
  • Охранные системы и контролирование внештатных ситуаций. Здесь понадобится различные датчики присутствия, движения, звука, магнитные датчики Холла и другие. Естественно, не обойтись без коммуникаций и возможности быстрой передачи информации владельцу через интернет.

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

Проекты «Зеленой робототехники»

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

  • Умная теплица
  • Полив растений
  • Умный инкубатор
  • Умный улей
  • Антигрызуны
  • Умный агроном
  • Умный ошейник для животных
  • Расширенная метеостанция
  • Робот – сеяльщик
  • Счетчик муравьев

Проекты с дронами: аэрофотосъемка, внесение удобрений.

Что такое Arduino?

Ардуино (Arduino) — специальный инструмент, позволяющий проектировать электронные устройства, имеющие более тесное взаимодействие с физической средой в сравнении с теми же ПК, фактически не выходящими за пределы виртуальной реальности.

В основе платформы лежит открытый код, а само устройство построено на печатной плате с «вшитым» в ней программным обеспечением.

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

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

Существует несколько моделей плат, самые распространённые из них – UNO, Mega 2560 R3.

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

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

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

Устройства на Ардуино могут работать в комплексе с ПО на компьютере или самостоятельно.

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

ЧИТАЙТЕ ПО ТЕМЕ: Умный дом Xiaomi Smart Home, обзор, комплектация, подключение и настройка своими руками, сценарии.

Основные элементы плат

Главным элементом “умного дома” является одна или несколько центральных (материнских) плат. Они отвечают за взаимодействие всех элементов. Только определив задачи, которые необходимо будет решить, можно приступать к выбору основного узла системы.

Материнская плата объединяет в себе следующие элементы:

  • Микроконтроллер (процессор). Основное его предназначение – выдавать и измерять напряжение в портах в диапазоне 0-5 или 0-3.3 В, запоминать данные и производить вычисления.
  • Программатор (есть не у всех плат). С помощью этого устройства в память микроконтроллера записывают программу, согласно которой будет работать “умный дом”. К компьютеру, планшету, смартфону или другому устройству его подключают при помощи USB-интерфейса.
  • Стабилизатор напряжения. Необходимо устройство на 5 вольт, требуется для питания всей системы.

Под маркой Arduino выпускают несколько моделей плат. Они отличаются друг от друга форм-фактором (размером), количеством портов и объемом памяти. Именно по этим показателям нужно выбирать подходящее устройство.

Платы Arduino и шилды под них лучше приобретать у производителя, так как они качественнее совместимых устройств, которые выпускают в Китае

Существуют два вида портов:

  • цифровые, которые помечены на плате буквами “d”;
  • аналоговые, которые помечены буквой “a”.

Благодаря им микроконтроллер осуществляет связь с подключенными устройствами. Любой порт может работать как на получение сигнала, так и на его отдачу. Цифровые порты с пометкой “pwm” предназначены для ввода и вывода сигнала типа ШИМ (широтно-импульсная модуляция).

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

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

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

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

Каждый микропроцессор оснащен тремя видами памяти:

  • Flash Memory. Основная память, где хранится код программы управления системой. Незначительную ее часть (3-12 %) занимает вшитая программа загрузки (bootloader).
  • SRAM. Оперативная память, где хранятся временные данные, необходимые при работе программы. Отличается высокой скоростью работы.
  • EEPROM. Более медленная память, где также можно хранить данные.

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

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

Проектирование

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

Обычно проект на базе решения Arduino Uno предполагает решение следующих задач.

  • Отслеживание погодных условий за окном и температуры в помещении и, как следствие, адекватная реакция на их изменение. Устройство обычно становится элементом единой системы вместе с отопительными, вентиляционными приборами и иными устройствами.
  • Мониторинг состояния окон и дверей – закрыты они или открыты.
  • Генерирование звукового сигнала при активизации датчика движения, если активна функция сигнализации.
  • Автоматическое управление бытовой техникой.
  • Контроль потребления электроэнергии, благодаря автоподключению и выключению осветительной техники.
  • Обеспечение пожарной безопасности. Механизм подает владельцу сигнал о наличии возгорания или дыма в помещении. Если разработана сложная система, то она может даже вызвать на место пожарных.

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

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

Обычно проект состоит из следующих компонентов:

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

Кроме того, на этапе формирования проекта осуществляется расчет цены «умного дома».

Зависеть цена будет от таких факторов:

  • количество устройств;
  • выбранное оборудование и подсистемы.

Особенности работы некоторых аппаратных средств Arduino

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

В отношении некоторых комплектующих для систем Arduino пользователи заметили следующее:

  1. Датчик температуры DHT11, поставляемый с базовым набором (StarterKit), даёт значительную погрешность в 2–3 градуса. В помещении рекомендуют применять температурный датчик DHT22, дающий более точные показания, а для установки на улицу — DHT21, способный работать при отрицательных температурах и имеющий защиту от механических повреждений.
  2. На некоторых микропроцессорных платах Arduino при замыкании подключённых к ним реле выходит из строя COM-порт. Из-за этого на микроконтроллер не удаётся загрузить скетч: как только начинается заливка, процессор перезагружается. Реле при этом щёлкает, COM-порт отключается и процесс загрузки скетча прекращается.
  3. Датчик закрытия окна/двери иногда преподносит сюрпризы в виде ложных срабатываний. С учётом этого скетч пишут так, чтобы система производила необходимое действие только по получении нескольких сигналов подряд.
  4. Для настройки управления процессами при помощи хлопков некоторые пользователи по неопытности вместо микрофона заказывают детектор звука с ручной настройкой порога. Для подобных целей этот компонент не подходит, так как имеет слишком малый радиус действия: хлопать приходится не далее 10 см от детектора. Кроме того, этот датчик передаёт сигналы импульсами малой продолжительности, так что при наличии большого скетча, на обработку которого уходит сравнительно много времени, микроконтроллер просто не успевает их зафиксировать.
  5. Для устройства противопожарной сигнализации следует использовать датчик дыма, а не датчик огня. Последний регистрирует пламя не далее 30 см от себя.
  6. На случай сбоя в работе микроконтроллера или ошибки в коде лучше применять нормально замкнутые реле с последовательно подключёнными ручными выключателями.

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

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

В итоге, что мы получим?

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

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

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

Это и есть основные преимущества системы.

К особенностям платы стоит отнести возможность подключения к компьютеру и получения визуализации процессов на дисплее планшета или ПК.

Управление автоматикой возможно через Интернет или посредством сообщений. Так что Ардуино отлично подходит для создания устройств повышенной сложности.

Ссылка на основную публикацию