Проекты для умного дома на базе ардуино

Выполнение проекта

Материалы и комплектующие

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

  1. Микропроцессорная плата Arduino .
  2. Температурные датчики.
  3. Модуль Ethernet
  4. Датчик света и дождя.
  5. Микрофон.
  6. Язычковые переключатели.
  7. Датчики движения.
  8. Резисторы сопротивления.
  9. Реле.
  10. Кабель Ethernet.
  11. Витая пара.

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

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

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

Особенности работы некоторых аппаратных средств 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, автоматизируя различные домашние процессы.

Надежда Хоменко

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

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


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

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

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

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

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

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

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

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

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

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

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

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

ESP8266

Микроконтроллер ESP8266 самодостаточен, легко программируется как Arduino (то есть это С++ и среда Arduino IDE), имеет на борту Wi-Fi, компактный и есть множество модификаций под разные нужды. Также есть его развитие, это ESP32, который более мощный. В общем идеальный контроллер. Недостаток лишь в напряжении питания (не пять вольт, а 3.3 вольта).

К контроллеру ESP8266 можно по проводам (причем довольно длинным, несколько метров) можно подключать разные датчики и исполнительные устройства по таким протоколам как 1-Wire, I2C. Почему именно эти протоколы? Потому что они очень простые и популярные (спасибо Arduino).

То есть, датчик или устройство по проводу подключается к ESP8266, который в свою очередь подключается по Wi-Fi к вашему серверу. Сервер можно писать на любом языке, например на платформе NodeJS. Но желательно использовать готовые сервера, о которых я расскажу позже. Ваш сервер позволит настроить любую логику работы умного дома.

Например можно в электрощитке разместить ESP8266 и реле. На это реле повесить освещение. А на стене повесить ESP8266 и кнопку. При помощи кнопки включать/выключать освещение. Обработчик нажатия на кнопку находится на сервере. Еще можно несколько датчиков температуры (улица, комнаты)по проводам подключить к ESP8266. На входную водопроводную трубу можно разместить датчик расхода воды и подключить к еще одному ESP8266. Контроллер стоит от 80 рублей, так что вешать их можно до упора (где этот упор не ясно, наверное зависит от роутера и помех на частоте 2.4 ГГц).

Сборка устройства

Себестоимость деталей устройства на момент публикации этой статьи составляет примерно 1000-1200 рублей (без учета заказа платы).

Для удобства сборки и надежности в эксплуатации лучше заказать плату. Китайские друзья с известного сайта предлагают сделать 10 штук с доставкой за ~$7, а иногда и меньше. Но всегда можно собрать и на макетке, как я и поступил с первым прототипом:

Прототип.

Arduino и совместимые модули были заказаны с aliexpress. Понадобятся:

  • Arduino Pro Mini 3.3v 8MHz (5v 16MHz is also acceptable, but requires different firmware);
  • MH-SR602 MINI Motion Sensor;
  • SIM800C(L) GSM Module;
  • CP2102 MICRO USB to UART TTL Module;
  • DS3231 RTC Module For Raspberry Pi;
  • 3 AA battery holder With ON OFF Switch;
  • различная рассыпуха (резисторы, конденсаторы, зуммер и поч.).

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

Схема устройства
Для снижения энергопотребления с платы Arduino нужно обязательно удалить резистор светодиода питания и регулятор напряжения. Проект платы сделан в Ki-CAD.

Код проекта

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

  1. ESP8266 wifi(Serial) — Подключаем esp8266 через Serial соединение.
  2. wifi.joinAP(a,b); — Подключение к wifi, где а — это название точки доступа, а b — пароль к этой точки доступа.
  3. wifi.createTCP(a,b) — Открытие TCP соединения, где «a» — DNC сайта (www.dweet.io), а «b» — сетевой порт (порт 80).
  4. wifi.send(a,b) — отправляем данные, где «a» — данные в массиве (строка с-стиля), а «b» — общее количество отправленных байтов.
  5. wifi.releaseTCP() — Закрытие TCP соединения.
#include "ESP8266.h" //  для работы с esp8266
#include <SoftwareSerial.h> //  чтобы добавить больше пинов UART 
#include <math.h> // чтобы высчитать логарифм
 
#define SSID     "Arduino" //  имя вашего wi-fi
#define PASSWORD  "12345678" //пароль вашего wi-fi
#define Thermistor_PIN A0 //  пин подключения термистора
 
SoftwareSerial mySerial(2, 3); // пины подключения по UART
ESP8266 wifi(mySerial); // говорим esp8266, что она будет работать через пины UART
String name = "MyEyse"; // ваш ключ от сайта dweet.io
 
void setup() { 
  Serial.begin(9600); // открываем serial соединение
  if (wifi.joinAP(SSID, PASSWORD)) { // если мы подключились к нашей сети
    Serial.println("https://dweet.io/follow/" + name); // пишем в мониторе порта адресс сайта
  } else { 
    Serial.println("Wi-Fi connection error"); // в случае, если мы не подключимся к сети, нам выдадут ошибку
  }
}
 
void loop() { 
  float volt_temp = 1023.0 / analogRead(Thermistor_PIN) - 1.0; // высчитываем температуру
  float temperatur = 1.0 / ( -log(volt_temp) / 3977.0 + 1.0 / 295.0 ) - 273.0; 
  if (wifi.createTCP("www.dweet.io", 80)) { // если нам удалось создать TCP соединение
    String data = "GET /dweet/for/" + name + "?"; // создаем переменную data  в виде строки (заполняем GET-запрос)
    data += "temperatur_C=" + String(temperatur) + " HTTP/1.1\r\n"; 
    data += "Host: dweet.io\r\n\r\n"; // закрываем GET-запрос в строке
    wifi.send(data.c_str(), data.length()); // отправляем данные в массиве (строка с-стиля) и общее количество байтов
    wifi.releaseTCP(); // закрываем TCP соеденение
  } else { 
    Serial.println("create TCP error"); // в случае, если мы не создали TCP соеденение, нам выдадут ошибку
  } 
  delay(1000); // ждем секунду (dweet.io обрабатывает данные 1 секунду, нет смысла отправлять данные раньше) 
}

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

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

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

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

Голос

Speech-to-text

Система умеет говорить и понимает, что ты ей говоришь. Нажимаешь кнопочку, говоришь фразу, и она конвертирует ее в текст. Преобразование голоса в текст — дико сложная задача. Гугл умеет это делать, но за деньги. А первое правило DIY-проекта — никаких абонентских плат. Как оказалось, в последних версиях хрома есть встроенный инструмент «Распознавание голоса». Единственный нюанс в том, что соединение должно быть либо https, либо localhost. Умный дом — как раз такая система: клиент и сервер находятся на одной машине, так что удалось подключиться по localhost.

Реакция на команды

Второй сервис называется dialogflow. Фишка в том, что ты задаешь шаблон фразы, например: «Какая погода завтра?» и указываешь, что слово «завтра» — это переменная типа date. И теперь уже ты можешь задать любой вопрос: «Какая погода 20 сентября?», «Какая погода послезавтра?», «Какая погода через 3 дня?» и система понимает, что это тип данных — date, конвертирует его в программную дату и реагирует на нее. Вся эта тема — на нейросетях, и она обучаема. Если ты сказал «Какая будет погодка сегодня?» и система не поняла, она говорит «Я не поняла», и ты заходишь на сервер и прям руками обучаешь ее, что вот эта фраза означает «Какая погода?», и она запоминает. Обучение нейросети происходит по доступу: при регистрации на сервисе выдаются ключи доступа к api, доступ к личному кабинету агента, можно этого агента обучать и можно дать право кому-то на его использование.

В dialogflow есть еще одна классная тема — микродиалоги. Задаешь вопрос, например, «Как твои дела?» и задаешь паттерны ответов на него: «Пока не родила», «Все в шоколаде, даже дисплей», «У нас делишки, а дела у прокурора», «Ой, всё» — и система каждый раз будет рандомно выбирать из этих вариантов ответ на этот вопрос.

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

Text-to-speech

Это хорошо умеет делать Яндекс. Там можно выбрать не только голос (нескольких вариантов женских и мужских голосов), но и настроение (веселый, грустный, злой, нейтральный). У Яндекса очень простое и условно бесплатное api (с лимитом что-то около 10 тыс преобразований в день).

Таким образом получился цикл: произносишь фразу, система ее понимает, произносит что-то в ответ и совершает какое-то действие. Так, например, работает установка будильника голосом. Говоришь: «Поставь будильник на вторник на 7 часов». И во вторник в 7 тебя разбудит Умный дом.

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

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

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

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

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

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

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

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

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

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

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

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

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

Модули и решения «умного дома» на Ардуино

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

Существует три основных микроконтроллера в системе:

Arduino UNO – средних размеров плата с собственным процессором и памятью. Основа — микроконтроллер ATmega328.  В наличии 14 цифровых входов/выходов (6 из них можно использовать как ШИМ выводы), 6 аналоговых входов, кварцевый резонатор 16 МГц, USB-порт (на некоторых платах USB-B), разъем для внутрисхемного программирования, кнопка RESET. Флэш-память – 32 Кб, оперативная память (SRAM) – 2 Кб, энергонезависимая память (EEPROM) – 1 Кб.

Arduino UNO

Arduino NANO – плата минимальных габаритов с микроконтроллером ATmega328. Отличие от UNO – компактность, за счет используемого типа контактных площадок – так называемого «гребня из ножек».

Arduino Nano

Arduino MEGA – больших размеров плата с микроконтроллером ATMega 2560. Тактовая частота 16 МГц (как и в UNO), цифровых пинов 54 вместо 14, а аналоговых 16, вместо 6. Флэш-память – 256 Кб, SRAM – 8 Кб, EEPROM – 4.

Arduino Mega

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

Сейчас на рынке представлено 3 поколение плат (R3) Ардуино. Обычно, при покупке платы, в комплект входит обучающий набор для собирания StarterKit, содержащий:

  1. Шаговый двигатель.
  2. Манипулятор управления.
  3. Электросхематическое реле SRD-05VDC-SL-C 5 В.
  4. Беспаечная плата для макета MB-102.
  5. Модуль с картой доступа и и двумя метками.
  6. Звуковой датчик LM393.
  7. Датчик с замером уровня жидкости.
  8. Два простейших устройства отображения цифровой информации.
  9. LCD-дисплей для вывода множества символов.
  10. LED-матрица ТС15-11GWA.
  11. Трехцветный RGB-модуль.
  12. Температурный датчик и измеритель влажности DHT11.
  13. Модуль риал тайм DS1302.
  14. Сервопривод SG-90.
  15. ИК-Пульт ДУ.
  16. Матрица клавиатуры на 16 кнопок.
  17. Микросхема 74HC595N сдвиговый регистр для получения дополнительных выходов.
  18. Основные небольшие компоненты электроники для составления схемы.

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

Сенсоры и датчики

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

Плата дополняется совместимыми датчиками движения или иными PIR-сенсорами, которые определяют присутствие или отсутствие человека в зоне действия, и привязывается через реле к освещению.

Датчик Arduino

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

Газовый датчик Arduino

Реле

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

Реле Arduino

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

Для более крупного проекта лучше применять шину реле, например, восьмиканальный модуль реле 5V.

Контроллер

В качестве контроллера выступает плата Arduino UNO. Для монтажа необходимо знать:

описание элементов;

распиновку платы;

принципиальную схему работы платы;

распиновку микроконтролеера ATMega 328.

Программная настройка

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

Или воспользоваться готовым скетч решением Ardublock – графический язык программирования, встраиваемый в IDE. По сути, вам нужно только скачать и установить ПО, а затем использовать блоки для создания схемы.

Таблица подключения к 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. В нем больше портов ввода/вывода и памяти, при полной программной совместимости.