Умный дом ардуино схема. Умный дом на базе Arduino своими руками: подключаемые модули и настройка системы

Мир не стоит на месте. Техника проникает в жизнь людей. С каждым днём все сложнее представить себе повседневность без электроники. И если раньше все это было доступно только состоятельным людям, то теперь техника находится в каждом доме и делает жизнь проще и интересней.

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

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

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

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

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

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

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

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

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

Что такое система Arduino ?

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

Принцип работы Arduino

Как же работает система Arduino? Очень просто. Установленные по всему дому или квартире датчики считывают информацию об окружающей среде и передают все данные на компьютер , который самостоятельно принимает решения. Функционировать эта система может на компьютере, ноутбуке, планшете или даже телефоне. Все программы для ардуино можно найти в свободном доступе. Все «железо» производитель делает максимально стандартизированным под системные разъёмы.

Функции системы Arduino

Система ардуино для проекта «умного дома» должна выполнять следующие функции:

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

Преимущества

  • Цена.
  • Качество.
  • Удобство.
  • Простота монтажа и проекта в целом.
  • Низкая стоимость в случае поломки или выхода из строя отдельных комплектующих.
  • Доступность программного обеспечения.

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

Что за система?

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

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

Как работают датчики?

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

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

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

Почему «Ардуино»?

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

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

На платформе Arduino имеется куча библиотек с поэтому найти себе подходящую программу не составит труда.

Наборы

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

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

Arduino Starter Kit - базовый набор, с которого все владельцы советуют начать ознакомление. В нем поставляется плата Arduino UNO, датчики, экран, резисторы и так далее. Стоит он около 80 евро.

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

«Амперка», как правило, приобретается для учебных учреждений. Она производится для детей от 12 лет. По окончании занятий дети смогут создать робота, который движется по прямой линии. Контроллер поставляется модели Arduino Uno.

Наборы «Дерзай» («Умный дом») на Arduino на данный момент наиболее популярны.

Платформы

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

Arduino Leonardo стоит немного дешевле вышеописанного варианта. Дело в том, что, в отличие от Uno, его можно использовать как USB-устройство. Например, благодаря этой плате можно управлять мышью и клавиатурой.

Почему чаще всего создается «Умный дом» на Arduino Mega2560? Она лишь немного внешне отличается от Uno, но имеет больший функционал. Используют ее зачастую для работы одновременно с большим количеством устройств. Соответственно с ней намного проще работать, когда речь идет о масштабных проектах. В целом если планируется создание «Умного дома», Arduino Mega - наиболее подходящий вариант.

Преимущества системы

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

Производитель предусмотрел возможность создавать собственные программы - исходный код открыт. Используемый язык максимально прост в освоении. Если есть необходимость, можно переносить программы при помощи USB-кабеля. Наборы «Умного дома» довольно интересны.

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

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

Принципы работы

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

Что необходимо для сборки?

Если появилось желание собрать проект самостоятельно, то необходимо собрать некоторые устройства и взять приборы. Какие?

  • Датчики и контроллеры.
  • Интернет-модуль.
  • Витую пару (кабель).
  • Переключатель.
  • Резистор.
  • Провод для интернет-модуля.
  • Реле.

Из принадлежностей понадобятся паяльник, отвертки и так далее.

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

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

Процесс установки

Обратить внимание нужно на то, что «Умный дом» должен иметь лишь лампы светодиодного типа. Обычные варианты не смогут выдержать напряжения - либо лопнут, либо просто перегорят.

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

Все работы можно представить поэтапно в виде алгоритма:

  1. Установка кода.
  2. Настройка приложения под компьютер или телефон.
  3. Переадресация портов.
  4. Тестирование датчиков и обеспечения.
  5. Устранение неполадок, если таковые выявлены при проверке.

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

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

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

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

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

Дистанционное управление

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

Имеется еще один способ, который поможет управлять домом, - СМС-сообщения. Не всегда бывает так, что имеется интернет-соединение, поэтому такой способ довольно актуален.

Итоги

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

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

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

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

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

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

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

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

    Одним из наиболее часто импользуемых элементов «умного дома» является датчик движения

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

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

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

    Плата процессора (или контроллера) управляет исполнительными устройствами на основе встроенной программы и данных, полученных от сенсоров

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

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

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

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

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

Знакомимся с Arduino

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

Набор Arduino Uno содержит необходимые компоненты для реализации устройств, описанных в прилагаемой книге

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

Потенциальному пользователю следует знать, что с 2008 года существуют две компании, выпускающие продукцию под торговой маркой Arduino. У первой, которая начинала это направление, официальный сайт размещён по адресу www.arduino.cc ; у второй, новообразовавшейся - по адресу www.arduino.org. То, что было разработано до раскола, на обоих сайтах представлено одинаково, а вот ассортимент новой продукции уже отличается.

ПО для систем «умный дом» Arduino имеет вид программной оболочки (называется IDE), в которой можно писать и компилировать программы. Распространяется бесплатно. Программы пишутся на языке C++.

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

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


На процессорную плату можно устанавливать специальные расширения (шилды), которые увеличивают функциональность системы

Преимущества системы Arduino

Этот аппаратно-программный комплекс привлекает пользователя такими достоинствами:

  • возможность автономной работы, обусловленная наличием собственного контроллера;
  • широкие возможности по настройке работы системы (пользователь сам пишет программу, в которой могут быть предусмотрены сценарии любой сложности);
  • простота процесса загрузки программы в контроллер: программатор для этого не требуется, достаточно иметь USB-кабель (в микроконтроллере имеется прошивка загрузчика Bootloader);
  • доступная стоимость компонентов, обусловленная отсутствием у того или иного производителя монопольных прав (архитектура является открытой).

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

В программе Arduino IDE, представленной на сайте arduino.cc, заложена возможность создания пользовательских аппаратно-программных платформ, в то время как в версии программы на arduino.org такая функция отсутствует.

Какие решения предлагает Arduino

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

  1. Сенсоры, отслеживающие климатические параметры:
  2. Сенсоры, позволяющие определить пространственное положение объекта, на котором они закреплены:
  3. Сенсоры, позволяющие регистрировать присутствие различных объектов:
  4. Аварийные сенсоры:
  5. Прочие устройства, например:
    • микрофон;
    • часы;
    • датчик открывания двери;
    • пульты дистанционного управления (радиочастотные и инфракрасные) с приёмниками;
    • удалённые кнопки.

Некоторые из этих устройств включены в состав базового набора Arduino Start, который у ряда производителей имеет название StarterKit.


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

Исполнительная часть содержит огромный набор устройств, например:

  • электромоторы;
  • реле и различные переключатели;
  • диммеры (позволяют плавно менять интенсивность освещения);
  • доводчики дверей;
  • вентили и 3-ходовые клапаны с сервоприводами.

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

Видео: начинаем работать с Arduino - управляем светодиодом через web-интерфейс

Составление проекта на Arduino

Процесс создания и настройки «умного дома» Arduino покажем на примере системы, в которую будут заложены следующие функции:

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

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

Используемые сокращения:

  1. «GND» - заземление.
  2. «VCC» - питание.
  3. «PIR» - датчик движения.

Необходимые компоненты для изготовления системы «умного дома»

Для системы «умного дома» Arduino потребуется следующее:

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

Стоимость всех компонентов составляет примерно 90 долларов.


Для изготовления системы с необходимыми нам функциями потребуется набор устройств стоимостью около 90 долларов

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

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

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

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


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

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

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

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

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

Добавление библиотек в «Менеджер проекта» IDE осуществляется несколько необычным способом. В виде исходных текстов, написанных на С++, они добавляются в особую папку в рабочем каталоге оболочки IDE. После этого названия этих библиотек появятся в соответствующем меню IDE. Те, что отметит пользователь, будут внесены в список компиляции.

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

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

void setup () { pinMode (13, OUTPUT); // Назначение 13 вывода Arduino выходом}

void loop () { digitalWrite (13, HIGH); // Включение 13 вывода, параметр вызова функции digitalWrite HIGH - признак высокого логического уровня

delay (1000); // Цикл задержки на 1000 мс - 1 секунду

digitalWrite (13, LOW); // Выключение 13 вывода, параметр вызова LOW - признак низкого логического уровня

delay (1000); // Цикл задержки на 1 секунду}

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


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

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

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

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

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


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

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

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

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

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

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


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

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


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

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

Видео: умный дом на «Ардуино»

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

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

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

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

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

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

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

В данном проекте я покажу, как построить умный дом. Он может контролировать температуру снаружи и внутри помещения, фиксировать открыто или закрыто окно, показывать, идет ли дождь, а также подавать тревожный сигнал, когда сработает датчик движения PIR. Я создал приложение на ОС Android для отображения всех данных (данные можно также просматривать через браузер). Вы сможете видеть температуру в вашем доме и другую информацию с любой точки мира! Приложение переведено на английский и польский язык. Я создал данное устройство, поскольку хотел иметь свой собственный умный дом, которым можно управлять. Вы также сможете построить умный дом из компонентов, рекомендованных ниже. Тогда приступим.

Объяснение сокращений для начинающих:

GND - земля
VCC - питание
PIR – датчик движения

Шаг 1: Компоненты

Стоимость всех компонентов не превышает $90

  • Датчик температуры DS18B20 x 2 штуки
  • Язычковый переключатель
  • Резистор 4.7 кОм
  • Кабель, витая пара
  • ethernet кабель
  • инструменты (паяльник, отвертка)

Шаг 2: Соединения

Схема соединений показана выше.

Шаг 3: Программный код

Сначала вам необходимо загрузить, разархивировать и импортировать данную библиотеку в среду разработки Arduino IDE. Далее потребуется загрузить данную программу в Arduino. В комментариях объясняется программный код.

Шаг 4: Принцип работы

Если вы нажмете на кнопке refresh (обновить) в вашем приложении или в браузере, то Arduino отправит данные в смартфон/браузер. Приложение получает программный код с каждой страницы (/tempin, /tempout, /rain, /window, /alarm) и отображает его на вашем смартфоне.

Шаг 5: Приложения для Android.

Для установки приложения на вашем смартфоне под управлением ОС Android вам необходимо выполнить следующее (это видно на картинках выше):

1. Сначала загрузите файл smartHome.apk
2. Отправьте файл apk на ваш телефон
3. Откройте файловый менеджер и разместите файл smarthHome.apk
4. Щелкните на нем и нажмите установить (вам необходимо установить галочку, которая разрешает устанавливать приложения вне маркета google play)
5. После установки вам необходимо активировать приложение

Шаг 6: Конфигурирование приложения

Я кратко объясню, как работает приложение. Оно отображает все данные из вашего дома. Вы можете нажать на иконку настроек для редактирования вашего IP адреса, и включать и выключать тревожную сигнализацию. Когда вы включаете сигнализацию, то приложение получает данные от активного датчика движения PIR. Если датчик определяет постороннее движение в доме, он посылает уведомление. Приложение получает данные от датчика каждую минуту. В поле IP введите ваш IP-адрес.

Шаг 7: Браузер

Введите в адресной строке браузера ваш ip адрес / all. При этом вы увидите все данные и сможете включать и выключать свет.

Для этих функций вы также можете использовать приложение на Android.

Шаг 8: Переадресация портов

Вам нужно открыть порт на вашем роутере. Войдите в конфигурацию роутера, установите адрес arduino ip и откройте порт 80. Процедура показана на картинке выше.

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

Что такое Arduino

Ардуино – это бренд, под которым выпускаются аппаратные и программные средства для самостоятельного построения систем автоматики и телеуправления.

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

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

Так широко распространённый модуль Arduino Uno с микроконтроллером Atmega 328 имеет следующие характеристики:

  • Цифровые входы/выходы – 14
  • Из них 6 – ШИМ
  • Аналоговые входы – 6
  • Память – 32 Кб
  • Питание – 7-12 В
  • Цена – 950 рублей

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

Цифровые выходы могут управлять работой электромагнитных реле, которые в свою очередь включают и выключают сетевые розетки, к которым подключены различные бытовые приборы. Умный от Arduino обойдётся значительно дешевле, чем готовый промышленный комплект.

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

Самой мощной и многофункциональной платой этой линейки является Arduino Mega. На печатной плате смонтирован контроллер AT mega 2560 , дискретные элементы, порт USBконнектор для подключения питания. Плата имеет 54 универсальных контакта, которые можно запрограммировать на выполнение функций входа/выхода. 14 из них могут управлять аналоговыми устройствами при помощи широтно-импульсной модуляции. 16 аналоговых входов предназначены для подключения любых аналоговых приборов.

Плата контроллера Arduino Mega стоит в пределах 1 500 рублей. Программировать его проще всего с помощью персонального компьютера через USB-порт.

Периферийные модули для Ардуино

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

Вот только некоторые из них:

  • Газоанализатор – MQ-2
  • Датчик освещённости – 2CH-Light-2
  • Датчик температуры внешний – DS18B20-PL
  • Датчик температуры и влажности комнатный – DHT-11
  • Драйверы электродвигателя – L298N, L9110
  • Релейные модули – 1ch5V, 4ch5V
  • Модуль дистанционного управления IC2262/2272

Датчик, определяющий утечку газа в помещении, реагирует на пропан и бутан, которые являются составляющими бытового газа. Модуль имеет регулировку чувствительности и аналоговый/цифровой выходы. Датчик освещённости может являться частью автоматизированной системы управления светом. Он состоит из двух независимых каналов с индивидуальной регулировкой чувствительности. Уличный термодатчик предназначен для работы при температуре от – 55 до +125 градусов. Комнатный датчик температуры и влажности предназначен . Диапазон изменения температуры от 0 до +55 0 С и влажности от 20 до 90%.

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

Драйверы электродвигателей позволяют управлять однофазными, двухфазными, четырёхфазными и шаговыми двигателями. С помощью таких устройств можно открывать и закрывать жалюзи или шторы. Подключенные к драйверам сервоприводы позволяют регулировать поток теплоносителя в радиаторах отопления. Незаменимыми в системе «Умный дом» являются релейные ключи. Управляемые потенциалом логической единицы +5 вольт, реле допускают коммутацию нагрузок в цепях переменного тока до 10 ампер при напряжении до 250 вольт.

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

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

Организация системы «Умный дом»

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

Программирование микроконтроллеров линейки Ардуино осуществляется на языке С/С++.

Для начала можно написать простейшие программы, которые могут включать и выключать светодиод или управлять работой микроэлектродвигателя. Примеров таких программ очень много. В них используются простые операторы вида: если, пока, то и другие. Они позволяют писать программы даже школьникам. Когда первые программы будут правильно выполняться можно попробовать собрать более сложные устройства, где будут задействованы ШИМ выходы для плавного управления светом.

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

Для небольшого числа функций подойдёт микроконтроллер Arduino Uno и набор периферийных модулей.

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

Заключение

Контроллер Ардуино позволит выполнить проект умный дом и уложиться в сравнительно небольшую сумму. Если подсчитать все расходы на оборудование трёхкомнатной квартиры, то сумма вряд ли превысит 30-40 тысяч рублей. Если сократить число функций, бюджет окажется ещё более скромным.