Умный дом на ардуино своими руками с нуля проект

Добавил пользователь Владимир З.
Обновлено: 18.09.2024

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

А оказывается всё это реализовать очень легко!
Нам поможет Ардуино и пара -тройка дополнительных модулей.

Я собрал на фанерке простой макет для того, чтобы продемонстрировать как всё это работает.

Здесь я реализовал сразу несколько функций:
1) Включение/выключение лампы (это может быть нагреватель или вообще вся электросеть дома или квартиры)
2) Открывание/закрывание шлагбаума (это может быть электрозамок)
3) Запрос температуры на объекте с получением данных по СМС.

Схема

Для того, чтобы собрать эту систему потребуется:
- GSM модуль SIM800L + антенна + сим карта
- Ардуино нано
- Адаптер питания 5В 2А
- Модуль реле
- Сервомотор (для макета я поставил SG90, но например для электрозамка нужен помощнее)
- Датчик температуры DS18B20

Как всё это работает

Управление

Можно отправлять команды набирая смс вручную, но есть удобное бесплатное приложение для телефонов на андроид, которое превращает ваш мобильник в пульт управления "умным домом"

Это приложение - ABC Меssenger

Собирать систему "Умный дом " своими руками - увлекательное занятие! Можно полностью настроить всё под свои нужды, и при необходимости, вносить изменения, доработки, усовершенствования.

Видео работы макета:

Понравилась статья - ставьте лайк :)
Появились вопросы - пишите в комментариях. Я постараюсь помочь.
Чтобы не пропустить новые интересные статьи на тему "электроника и автоматизация своими руками" - подписывайтесь на канал


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

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

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

  • Готовые умные дома от крупных компаний стоят значительно дороже, чем разработанные и собранные вами самостоятельно.
  • Нужно понимать и уметь разбираться в процессах вашего умного дома, чтобы при малейшем сбое не обращаться к специалисту, который также будет опустошать ваш кошелек.
  • Опыт в разработке и отладке собственного умного дома бесценен и еще не раз вам пригодится!
  • Также стоит понимать, что беспощадный технический прогресс требует все больших навыков и знаний. Разбираться в высоких технологиях сейчас пойдет на пользу каждому.

Разберем основные моменты, чтобы понять саму технологию.

Конструкция умного дома состоит из следующих элементов:

  1. Контроллер - главный “мозг” системы. В него загружается программный код, определяются необходимые параметры системы, а сама информация передается на сервер.
  2. Сервер - это то, что связывает контроллер с исполнительными устройствами. Он обрабатывает всю информацию и от него зависит быстродействие и надежность системы.Сервер подключается к компьютеру в доме при помощи специального программного обеспечения (ПО)
  3. Исполнительные устройства - это различные приборы, которые питаются от сети (розетки, телевизор, лампочки, вентилятор и т.д.)
  4. Линии связи обеспечивают взаимодействие всех элементов умного дома посредством их соединения.

Соединение устройств бывает двух типов, по которым происходит и классификация умных домов: беспроводные и проводные.

У каждого из этих типов есть свои плюсы и минусы.

Беспроводной тип умных домов подразумевает собой взаимодействие всех элементов при помощи беспроводной передач данных (чаще всего через Wi-Fi и Bluetooth):


  • Минимальное количество кабелей и проводов
  • Меньше занимает места
  • Удобно использовать
  • Система уязвима перед хакерскими атаками: ее легко взломать по причине низкого уровня защиты беспроводных соединений
  • Высокая стоимость беспроводного оборудования
  • Низкая надежность от внешних воздействий и катаклизмов

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


Плюсов здесь много, среди которых:

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

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

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

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

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

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

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

Цены на такие системы начинаются от нескольких десятков тысяч рублей (сюда входят система точки доступа, блок питания, различные диммеры, датчики, выключатели и т.д.)

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

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

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

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

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

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

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

Шаг 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. Процедура показана на картинке выше.

Шаг 9: Присвоение доменного имени NO IP (опция)

Вы можете настроить учетную запись на no ip, но это не обязательно. На картинке выше показан процесс конфигурации.

Шаг 10: Тестирование

Если вы хотите видеть данные на вашем компьютере, то в адресной строке браузера введите ваш ip адрес / all (напр., 12.345.678.901/all) или используйте приложение Android.

Шаг 11: Редактирование: исходная программа приложения Android app

Ниже указан исходный программный код для Android.

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

Прикрепленные файлы:

topa_biser Опубликована: 06.12.2014 0 1


Вознаградить Я собрал 0 2

Оценить статью

Средний балл статьи: 3.3 Проголосовало: 2 чел.

Комментарии (16)
| Я собрал ( 0 ) | Подписаться

Для добавления Вашей сборки необходима регистрация

0


0


0

etherShield.cpp: In member function 'void EtherShield::ES_make_arp_request(uint8_t*, uint8_t*)':
etherShield.cpp:82: error: 'make_arp_request' was not declared in this scope

etherShield.cpp: In member function 'uint8_t EtherShield::ES_arp_packet_is_myreply_arp(uint8_t*)':
etherShield.cpp:86: error: 'arp_packet_is_myreply_arp' was not declared in this scope

0


0


0


Он по программе работает как датчик "хлопков" При срабатывании - начинает моргать лампой (по схеме видно два реле, одним управление происходит через интернет, а вторым от датчика)

0


0


0


arduino138_smart_home.ino:18:21: fatal error: OneWire.h: No such file or directory
compilation terminated.

0


0

0


0


Подскажите, возможно ли заменить Ethernet на GSM модуль, а вместо датчиков открытия окна, скажем поставить датчик влажности и добавить модуль давления. Короче, задача: метеостанция на базе GSM модуля с датчиками температуры, влажности, дождя, барометром, отправка данных через симку на телефон Android.

0


0


А для чего показано соединение кабеля витой пары и зачем его резать, если есть модуль в котором есть гнездо под стандартный интернет кабель

Оглавление статьи: Проекты для умного дома на базе Ардуино

Объединение техники микроконтроллером

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

Рекомендуем узнать про датчик протечки, своими руками его собрать не сложно и можно включить в систему умного дома на Ардуино.

Возможный функционал и постановка требований к системе

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

Часто используемые функции

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

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

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

Простые датчики открытия

  • Выявление прохода через калитку участка, для подсветки пути при необходимости.
  • Определение открытия входной двери в дом.
  • Управление системой отопления. В отсутствие хозяев держать температуру не ниже 5 ℃, чтобы не вымерзла вода. По полученной команде удаленно прогреть помещение до +20 градусов.
  • Сообщать владельцу о перебоях энергоснабжения, чтобы не размораживался холодильник.
  • Включение света в кладовке, когда ее дверь кто-то открыл.
  • Все перечисленное получить при минимальных денежных затратах.
  • Отключение всей электрики и переход дома в режим экономии энергии. При этом холодильник продолжает работать.

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

Как это выглядит физически

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

Промежуточное реле

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

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

Подсветка крыльца

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

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

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

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

Итак, что потребуется:

Наименование Количество
Ардуино-реле 220 В на 4 контакта 1
Реле-повторитель для высокой нагрузки 2
GSM модуль SIM900 1
Arduino UNO R3 1
Реле-повторитель для коммутации 5 В работающее от сети переменного тока 220 В 1
Диоды зеленые 2
Кнопки 2
Резисторы 10 kОм 5
Резисторы 220 Ом 5
Диоды красные 2
Фоторезистор 1
Терморезистор 1
Резистор 2.2 кОм 1
Конденсатор 0.1 мкФ 1
Электролитный конденсатор 470 мкФ, 6.3 В 1

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

Общая структурная схема конструкции

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

Датчики

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

Принципиальная схема подключения датчиков

Исполняемая часть

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

Светодиоды Led1-4 на схеме больше относятся к интерфейсной части и показывают текущий режим работы: 1 — охрана отключена, 3 — активирована, 2 — люди дома, 4 — экономия электроэнергии. Уличная лампа и в кладовке — обычные бытовые светильники на 220 В.

GSM модуль

В качестве модуля обмена информацией через сотовые сети связи, в проекте умного дома на Ардуино, используется GSM SIM900. Выбран шилд по причине его аналогичности питания 5 В, для совместного подключения с микроконтроллером к резерву.

Обмен информацией между GSM900 и Arduino выполняется по последовательному порту. В схеме, аппаратный D0 занят реле экономии, D1 отоплением. Будет использоваться программный порт на цифровых пинах 7 и 8. Питание с Ардуино раздельно, электрическая взаимосвязь выполняется через GND модема и аналогичную линию микроконтроллера.

Запуск аппарата будет производиться программно. Для чего в GSM900 запаивается перемычка R13 и пин D9 модема соединяется с D13 Ардуино.

Схема подключения GSM-модуля

Обратите внимание, что соединение коммутирующих линий TX-RX выполняется перекрестно.

Скетч включения GSM SIM900:

void Modem_on()
pinMode(13, OUTPUT);
digitalWrite(13,LOW);
delay(1000);
digitalWrite(13,HIGH);
delay(2000);
digitalWrite(13,LOW);
delay(3000);
>

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

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

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

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

Резерв питания

Компоновка батарей для получения +5В

Принцип работы прост. При отключении сети 220 В нормально разомкнутое реле К1 соединяет Ардуино и модем с +5 питания батареи. Одновременно устанавливается состояние HIGH на входе A4 микроконтроллера. Последний аналоговый, а значит через него можно контролировать заряд батареи, вычислив опытным путем при каких минимальных показаниях происходит отключение логических компонентов. Информирование человека о разряде выполняется отправкой СМС.

Интерфейс с пользователем

Ручной

Принципиальная схема подключения кнопок

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

Иные средства коммуникации

Пример орагнизации web-сервера для умного дома

Прототип скетча

Готовые комплекты и решения

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

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

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

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

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

Модели умных домов, представленные на рынке

Бренд/название Комплектация Коммуникации Удаленное управление/контроль Расширение уст-ми производителя Пульт *Универсальность Цена (руб)
Xiomi Smart Home Suite Контроллер, замаскированный под настольную лампу, датчики открытия и движения, умная розетка и беспроводная кнопка включения Проводные Приложение Mi Home Есть Нет Нет 5000
Redmond Smart Home Продается раздельно, собирается во едино с основой в виде модуля skycenter Bluetooth Приложение Ready for Sky Есть Есть Нет
Vstarcam E27AR-TZ1V Умная камера (по совместительству контроллер), датчики движения и открывания дверей, светильник и управляемая розетка ИК Приложение на мобильный телефон, электронная почта Есть Есть Нет 12000
NooLite mini kit Приложение на мобильный телефон Есть Есть Есть 14000
Fibaro starter kit Контроллер, БП, Датчики в комплекте: освещенности, движения, температуры, протечки, открытия Веб-интерфейс, приложение смартфона Есть Есть Есть 50000
Wulian Smart Home Дизайнерский контроллер Радио Приложение Есть Нет Есть

* Универсальность — подразумевает подключение внешних устройств не только через розетку, но и иные контроллеры. К примеру, внешние реле времени или силовые повторители.

Где купить оборудование для Arduino

Резюмируя

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

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

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

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

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

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

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

Установка плат расширения

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

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

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

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

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

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

  1. Сенсоры, отслеживающие климатические параметры:
  2. температуру;
  3. влажность;

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

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

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

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

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

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

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

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

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

Набор основных компонентов

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

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

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

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

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

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

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

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

Схема работы программы в IDE Arduino

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

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

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

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

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

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

Получение доменного имени для системы Arduino

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

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

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

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

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

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

Читайте также: