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

Содержание
  1. Автоматический контроллер температуры и влажности для домашних питомцев на базе Arduino
  2. Шаг 1: Подготовка модулей
  3. Шаг 2: Измерение температуры и влажности
  4. Шаг 3: Подсоедините реле к контроллеру Crowduino, для контроля модуля ultrasonic nebulizer и тепловых пластин.
  5. Шаг 4: Загрузка программ в Crowduino
  6. Прикрепленные файлы:
  7. Умная теплица на Arduino- делаем первые шаги
  8. Добро пожаловать!
  9. В контролере предусмотрен следующий основной функционал:
  10. Подробные функции контроллера для инкубатора:
  11. Ниже описаны некоторые части контроллера более подробно
  12. Так же развязка питания на резервное и основное на простой схеме:
  13. Схема клавиатуры ввода данных
  14. Схема светодиодной панели
  15. Схема управления вентиляторами от компьютера
  16. Внутреннее устройство контроллера
  17. Некоторые функциональные особенности работы контроллера
  18. Пример вывода на LCD экран информации и пример использования меню
  19. Использование меню
  20. Контроллер аквариума на Arduino v1.0 — DRIVE2
  21. Регулятор температуры и влажности
  22. Что такое «умный дом» на базе Arduino?
  23. Arduino контролирует в подвале температуру, влажность и затопление и выдает данные на веб-страницу
  24. Большой подвал
  25. Внимание Затопление!!!
  26. Температура
  27. “); ethernet.print(temp); ethernet.print(“
  28. Влага
  29. “); ethernet.print(vlaga); ethernet.print(“
  30. Сработка Вентиляции
  31. “); ethernet.print(vf); ethernet.print(“
  32. Зимний сад
  33. Оборудование
  34. Топология подсети «Зимний сад»
  35. Режимы работы
  36. Контроль температуры и влажности воздуха
  37. Лимиты отклонений температуры
  38. Система полива растений
  39. Установки каналов полива
  40. Параметры полива
  41. Управление окнами
  42. Управление жалюзи
  43. Управление ролл-шторами
  44. Панель управления
  45. Время восхода и захода солнца
  46. SMS-сервер
  47. Другие контроллеры сети
  48. nRF24 партнёр
  49. Индикация температуры
  50. Датчик влажности воздуха
  51. Датчики влажности почвы
  52. Реле полива растений
  53. Реле управления окнами
  54. Реле управления экраном
  55. Сервоприводы управления жалюзи
  56. Моторы управления ролл-шторами
  57. Датчики уровня воды
  58. Датчики освещённости
  59. Развитие проекта
  60. Функции, реализованные в проекте
  61. Датчики и актуаторы
  62. Режимы работы системы
  63. Температура
  64. Полив растений
  65. nRF24 сеть
  66. Управление окнами
  67. Управление сервоприводами жалюзи
  68. Управление ролл-шторами
  69. Работа со временем
  70. SMS сообщения и команды
  71. Сетевая работа
  72. Индикация

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

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

Джек и Хосе, пара прекрасных хомячков, жили со мной более 100 дней и ночей. Их мягкая и белая шерсть давала мне покой и тепло, особенно во время программирования зимними вечерами.

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

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

Шаг 1: Подготовка модулей

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

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

В основном датчик температуры и влажности передает данные о том, как холодно вокруг, в контроллер Crowduino. Если контроллер Crowduino “считает”, что очень холодно, тогда он подключает тепловую пластину, чтобы согреть хомяка или модуль ultrasonic nebulizer для начала кондиционирования воздуха.

Шаг 2: Измерение температуры и влажности

Базовое подключение всех модулей (Crowduino, датчика температуры, релейного модуля и т.д.) показано на рисунке выше.

Сначала, подсоедините датчик температуры и влажности AM2302 к плате контроллера Crowduino. Используя проволочную перемычку, подсоедините выводы питания датчика AM2302 к выводам Vcc и GND контроллера Crowduino, далее подсоедините вывод “SIG” датчика AM2302 к A1 Crowduino.

Примите во внимание, что необходимо установить нагрузочный резистор 4,7 кОм между выводом “SIG” датчика AM230 и Vcc. В действительности вы можете найти множество других модулей температуры и влажности, в которые встроен нагрузочный резистор. В этом случае вам не нужно добавлять нагрузочный резистор самостоятельно, что упрощает дальнейшую сборку.

Шаг 3: Подсоедините реле к контроллеру Crowduino, для контроля модуля ultrasonic nebulizer и тепловых пластин.

Подсоедините выводы “IIN1”и “IN2” 2-канального релейного модуля к выводам A4 и A5 контроллера Crowduino (или к шилду с винтовыми клеммами), далее подключите питание к релейному модулю с помощью проволочных перемычек. Таким способом Crowduino может отдельно контролировать 2 реле для включения/выключения питания модуля ultrasonic nebulizer и тепловых пластин.

И, наконец, подсоедините модуль ultrasonic nebulizer и тепловые пластины к реле.

Для модуля ultrasonic nebulizer, я отрезал его положительный проводник и подсоединил один его конец к выводу “COM” реле1 (вывод в середине). Далее второй конец я подсоединил к выводу ”NO” реле1.

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

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

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

Шаг 4: Загрузка программ в Crowduino

Загрузите нижеуказанную программу и откройте ее на вашем Arduino IDE.

В данной программе я установил пороговое значение температуры величиной 9 градусов, а пороговое значение влажности в значение 45.

То есть, когда температура, измеренная датчиком, ниже 9 градусов, контроллер crowduino будет контролировать релейный модуль для подачи питания на тепловые пластины, чтобы обогревать хомяков; когда относительная влажность упадет ниже 45% включится модуль ultrasonic nebulizer для увеличения влажности воздуха.

Естественно, если необходимо изменить пороговое значение температуры или влажности, просто измените параметры “temLowTrigger” и “humLowTrigger” температуры и влажности для включения тепловой пластины и модуля ultrasonic nebulizer.

Шаг 5: Тестирование и установка

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

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

Тепловая пластина будет активирована, когда температура упадет ниже 9 градусов и останется включенной вплоть до температуры 40 градусов. Поместите модуль ultrasonic nebulizer в воду на глубину около 0,3 метра.

Модуль активируется, когда относительная влажность упадет ниже 45%.

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

Я думаю, благодаря этой системе мой будущий хомяк будет просто счастлив!

Оригинал статьи

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

  • Temperture_and_hunmidity_control.zip (1 Кб)
  • Library.zip (20 Кб)

Умная теплица на Arduino- делаем первые шаги

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

Написано 03.11.2016 в 00:12 , Виктор Петин / Уроки Ардуино / 1 Comment

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

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

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

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

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

А поможет нам создавать умную теплицу контроллер Arduino.

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

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

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

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

Управление можно с помощью автоматики, или удаленно (через интернет или через телефон (планшет)).

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

Рисунок 1. Схематическое изображение умной теплицы

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

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

  • Arduino Uno;
  • Кабель USB;
  • Плата прототипирования;
  • Провода «папа-папа» – 15 шт;
  • Фоторезистор – 1 шт;
  • Резистор 10 кОм – 1 шт;
  • Датчик температуры TMP36 – 1 шт;
  • Модуль температуры и влажности воздуха DHT11 – 1 шт
  • Модуль влажности почвы – 1 шт.
  • Позиции 1-6 имеются в наборах серии «Дерзай» («Базовый», «Изучаем Arduino» и «Умный дом»), датчик температуры TMP36 имеется в наборах «Базовый» и «Изучаем Arduino». Ссылки на позиции 8 и 9 будут даны в конце статьи. Сначала познакомимся с датчиками, которые будем использовать для функции мониторинга параметров нашего проекта.

    C помощью фоторезистора (рисунок 2) осуществляют измерение освещенности. Дело в том, что в темноте сопротивление фоторезистора весьма велико, но когда на него попадает свет, это сопротивление падает пропорционально освещенности.

    Добро пожаловать!

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

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

    В контролере предусмотрен следующий основной функционал:

    • 1. Измерение температуры и влажности и индикация этих данных на LCD экран.
    • 2. Поддержание заданной температуры с помощью ПИД алгоритма
    • 3. Управление автоматическим поворотом лотков.
    • 4. Звуковая и визуальная индикация превышения заданных параметров.
    • 5. Подключение двух вентиляторов.

    Подробные функции контроллера для инкубатора:

    • звуковой сигнализатор отклонения температуры от установленного значения;
    • хранение настроек в энергонезависимой памяти
    • диапазон измерения – от 0 до +125 градусов;
    • дискретность измерения 0,1 градуса в интервале от 0 до 99,9 градусов;
    • погрешность измерения температуры ±0,5 градуса в интервале измерения от 0 до+85 градусов;
    • диапазон устанавливаемых значений заданной температуры от 30 до 41 градусов;
    • погрешность поддержания заданной температуры + 0,1 градуса;
    • напряжение питания – от 220 В и 12 В;
    • резервное питание непосредственно контроллера, (не относится к нагревательным элементам)
    • мощность нагрузки до 2 кВт;(зависит от мощности используемого реле)
    • диапазон измеряемой и отображаемой относительной влажности 1-99%;
    • дискретность отображаемой индикации влажности 0,1%;
    • контроль отсутствия или обрыва датчика температуры – есть;
    • контроль отсутствия или обрыва датчика влажности – есть;
    • тревожная световая и звуковая сигнализация отклонения параметров микроклимата за пределы номинальных значений;
    • дополнительно 5 светодиодов для индикации параметров инкубации;
    • буквенный-символьный двухстрочный ЖКИ дисплей;
    • автоматический поворот лотков с яйцами по истечении заданного промежутка времени (устанавливается в диапазоне 1 секунда – 3 часа);
    • раздельная установка порогов контроля аварийных значений для тревожной сигнализации;
    • возможность подключения датчика уровня жидкости;
    • Подключение увлажнителя воздуха;

    Ниже описаны некоторые части контроллера более подробно

    Схема логической части контроллера и исполнительной:

    Схема устройства контроллера для инкубатора

    Так же развязка питания на резервное и основное на простой схеме:

    Схема резервного питания

    В качестве источника тока является батарейка типа крона,D1 – диод, D2 – диод шоттки. От сети источником питания является блок питания на 12 v 2A.

    Схема клавиатуры ввода данных

    Схема клавиатуры ввода данных

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

    Схема светодиодной панели

    Схема светодиодной панели

    Регистр 74HC595 дает возможность добавить 8 портов на выход,но при этом занимает 3 цифровых выхода.

    Схема управления вентиляторами от компьютера

    Эту весьма распространённую схему я уже ранее показывал: Регулятор оборотов вентилятора для инкубатора.

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

    Внутреннее устройство контроллера

    Список комплектующих деталей и их некоторые характеристики:

    • Arduino UNO
    • Двухстрочный шестнадцатисимвольный LCD дисплей на чипе, совместимом с HD44780.
    • Цифровой датчик температуры DS18B20
    • Китайский датчик температуры и влажности в одном корпусе DHT22
    • Твердотельное реле SSR-25 DA
    • Микросхема расширителя портов 74hc595
    • Драйвер двигателя на микросхеме L298n, на 2А
    • Пьезоизлучатель звука
    • Светодиоды различных цветов
    • Датчик уровня жидкости
    • Резисторы, потенциометр, конденсатор и тактовые кнопки

    Некоторые функциональные особенности работы контроллера

    В программе включен сторожевой таймер, что исключает зависание программы, например из-за сильной помехи по сети.

    Контроллер для инкубатора на Arduino в сборе

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

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

    Имеется клавиша включения-выключения функции автоматического переворота рамки.

    Контроллер для инкубатора на Arduino в сборе. Боковые элементы подключения.

    Бокс для подключения резервного питания в виде батарейка типа “Крона”. Клавиша включения питания всего устройства. Подключение сетевого кабеля питания 220В. Предусмотрен плавкий предохранитель на 5 А.

    Подключение увлажнителя, вентиляторов, USB порт. Кулер для охлаждения внутренностей контроллера.

    Пример вывода на LCD экран информации и пример использования меню

    Основной экран LCD

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

    Использование меню

    Так же реализовано не сложное меню для основных настроек инкубации.

    Основное меню

    Максимальная критическая температура.

    Минимальная критическая температура.

    Сброс параметров к заводским настройкам.

    Отключение тревожной звуковой сигнализации.

    Отключение подсветки LCD дисплея.

    Май 2014г.

    Контроллер аквариума на Arduino v1.0 — DRIVE2

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

    Продолжая поиски применения контроллера Arduino Nano в быту, решил я сделать контроллер в аквариум. Ну как контроллер… Ну как сделать… )))
    Полистав просторы интернета, посмотрев готовые решения и обсуждения по теме аквариумного контроллера, я для себя выделил определенные начальные функции будущего изделия:

    — вкл/выкл света по расписанию;— вкл/выкл компрессора по расписанию;— мониторинг температуры;

    — и самое главное это охлаждение воды.

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

    Если с первыми тремя пунктами проблемы точно ни каких быть не может (реализуется на модулях реального времени ds1307, датчике температуры воды на DS18B20 и наборе реле)…

    ds1307

    модуль реле

    DS18B20

    …то с последним пунктом пришлось подумать.

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

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

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

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

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

    6. По мнению интернета самый эффективный и простой, вентилятором охлаждать поверхность воды. Иными словами создавать искусственный ветер. Мне нравиться! Его и возьмем.

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

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

    Ну да пока ладно. Позже нужно будет както произвести калибровку датчика.

    Собираем, запускаем 5 минут, 10 минут, 20 минут, 30 минут… Хм. Что-то пошло не так… За пол часа, если верить аналоговым датчикам, то удалось охладить температуру воды где-то на 0.25 градуса. Делаю скидку на то, что начальное охлаждения объема в 100 литров будет всеже тяжелей, нежели дальнейшее поддержание температуры. Будем экспериментировать дальше.

    Но за то я получил прекрасный увлажнитель воздуха! За пол часа работы системы влажность в комнате поднялась на 2% ))) Побочный эффект, но радует )))Недостатки:1. ШУМ! Эти карлсоны-малыши очень прилично шумят! Думаю запустить вентиляторы всеже не через реле, а через ШИМ от контроллера, регулируя скорость.2. Медленно! Хотя, может я много хочу и сразу.

    Достоинства:

    1. Прекрасный увлажнитель воздуха.

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

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

    Что касается вкл/выкл света и компрессора, то тут проблем нет, прекрасно работает по времени, эксперименты уже ставил.

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

    Регулятор температуры и влажности

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

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

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

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

     Датчиком влажности/температуры служит венец китайской научной мысли DHT22. Также пойдет более дешевый DHT11, о методике работы с которым писалось ранее. 

     Плата разведена на одностороннем текстолите с использованием нескольких перемычек. Все элементы, за исключением микроконтроллера и кварцевого резонатора, использованы в выводном исполнении. 

         

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

    При повторном нажатии кнопки, появляется возможность установить порог влажности.

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

    Настройка порога температуры

    Настройка порога влажности

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

    Чтобы активировать подсветку достаточно крутануть энкодер в любую сторону. Кстати, на случай если пользователь забудет выйти из меню настроек, микроконтроллер это сделает самостоятельно.

    В этом случае установленные настройки не сохраняются.

     Еще на плате предусмотрено место для пьезопищалки (слева от реле), она пока не установлена.

     

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

      Для индикации работы устройства имеются 5 светодиодов. Светодиод D3 (светит зеленым на фото выше) показывает наличие питания схемы. Светодиод D4 моргает с интервалом 5 сек, сразу будет видно, выполняется ли основная программа или нет. Светодиод D2 индицирует проблемы работы с датчиком. А светодиоды D7-D8 показывают какое из реле находится во включенном состоянии.

     Ниже можно скачать файлы к проекту. Прошивка скомпилирована под частоту работы микроконтроллера 10МГц. 

    Прошивка (только для датчика DHT11)

    Спецверсия для датчика DHT22  (для работы прошивки требуется использовать кварц на 16МГц)

    Печатная плата выполненная в DipTrace

    Внимание! На плате питание дисплея разведено следующим образом: 1-GND, 2-VCC (+5v). В некоторых моделях Winstar (таких как WH1602D-TML-CT) на первый пин должен подключаться +5v, а на второй земля. Перед первым подключением дисплея рекомендую проверить в каком порядке идут пины питания, иначе из-за переполюсовки дисплей с большой вероятностью может сгореть (из личного опыта).

    Что такое «умный дом» на базе Arduino?

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

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

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

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

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

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

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

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

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

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

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

    Следующая особенность – контроль микроклимата в помещении. Описываемый механизм имеет не меньшую важность.

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

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

    Еще одно преимущество – техническая оснащенность различных систем.

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

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

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

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

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

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

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

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

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

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

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

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

    • при помощи электрической проводки;
    • по беспроводной технологии.

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

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

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

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

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

    Говоря о достоинствах «умного дома» на базе Arduino, следует отметить следующие моменты.

    • Большие возможности в плане настройки работы всего механизма. То есть пользовать может самостоятельно написать программу, что может выполнить алгоритмы различного уровня сложности.
    • При желании система может работать автономно по причине наличия собственного контроллера.
    • Загрузить программу не составляет труда из-за того, что программатор для этого не нужен, а все осуществляется при помощи USB-интерфейса, так как в микроконтроллере просто осуществляется прошивка бутлоадера.
    • Довольно невысокая цена составных частей системы. Это является следствием того, что у различных производителей нет монопольных прав. По этой причине архитектура Arduino относится к разряду открытых.
    • Наличие открытого исходного кода, что дает возможность пользователю напрямую управлять механизмом умного дома.
    • Доступность в том, что пользователь сам выбирает, какие датчики и механизмы ему необходимы.
    • Универсальность и возможность реализации самых интересных идей. Инструкции или стандарта, каким должен быть «умный дом» на базе Arduino, не существует. Это значит, что пользователь может сделать систему такой, какой он хочет, так как владелец не ограничен ничем в плане монтажа датчиков в спальне или кухне.
    • Возможность самостоятельной прошивки загрузчика.
    • Наличие штыревого разъема у процессорных плат Arduino, что позволяет делать программирование уже внутри системы.

    Как и любого механизма, у данной системы имеются и кое-какие недостатки.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Это сделано для того, чтобы несведущий человек не натворил каких-либо ошибок.

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

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

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

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

    Arduino контролирует в подвале температуру, влажность и затопление и выдает данные на веб-страницу

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

    Всем привет.

    Хочу поделиться опытом создания системы контроля и предупреждения.

    На одном из строительных объектов делали строение с бассейном, сауной, тренажёрным залом и комнатой отдыха. Все это было в приличных размерах как для одного хозяина. Чисто технически понадобилось 2 подвала: 1-й для обслуживания насосов бассейна — маленький, 2-й для обслуживания систем обогрева и накопления тепла

    Закуплены были 2 напольных евро-люка разных размеров для двух подвалов. Люки зарывались 4-мя винтами и имели очень плотные резиновые уплотнения. Чтобы открыть подвал, необходимо было 4 человека (и немного здоровья). При работе всей техники в подвале поднималась температура и влажность, при этом контролировать что там происходит практически неудобно.

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

    За основу взял Arduino Pro Mini плюс Ethernet ENC28J60. Для замера влажности и температуры датчик DHT11 и FC-28 (датчик влажности почвы – в роли датчика затопления).

    Тех задание:

    1) Управление и информирование через Web интерфейс; 2) Включение и отключение вентиляции по заданному уровню влажности;

    3) Включение и отключение клапана водопровода (возможно, ревун, откачивающий насос) при затоплении.

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

    Лучше брать ту, в которой стабилизатор по мощнее, так как та, что по слабее, при активных реле и сетевом контроллера закипит стабилизатор, что приводит к зависанию системы (я упустил был этот нюанс – но приобрел более ценное – опыт).
    Сетевые контроллеры также надо выбирать внимательно, так как есть те которые от 5В (стабилизатор на обратной стороне модуля) и на 3,3В. Нужен будет дополнительный стабилизатор на 3,3В.

    Блок питания взял от обычного свитча (или роутера) TP-Link 9В 500мА (примерно), они часто встречаются за копейки от паленых свитчей или роутеров.

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

    1) Сработка датчика затопления = включение реле (клапана водопровода(ревун, откачивающий насос ); + информирование на web странице крупным шрифтом; 2) Повышение влажности выше установленного уровня = включение реле вентилятора; 3) Вся информация о температуре влажности и затоплению выводится на web страницу;

    4) При понижении температуры ниже 5 градусов оповещение на web сайте о угрозе.

    Наглядно можно увидеть на видео:

    На практике все очень удобно. Всегда можно посмотреть с Телевизора (Smart), телефона или планшета — что творится в закрытых помещениях, не открывая их.

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

    Надеюсь, эта статья кому-то поможет, а кого то вдохновит на создание своего проекта.

    Прогамма для Arduino#include “etherShield.h”
    #include “ETHER_28J60.h”
    #include
    #include “DHT.h”
    #define DHTPIN 2 // к какому пину будет подключен вывод Data //выбор используемого датчика
    #define DHTTYPE DHT11 // DHT 11 //#define DHTTYPE DHT22 // DHT 22 (AM2302)
    //#define DHTTYPE DHT21 // DHT 21 (AM2301) // Connect pin 1 (on the left) of the sensor to +5V
    // Connect pin 2 of the sensor to whatever your DHTPIN is
    // Connect pin 4 (on the right) of the sensor to GROUND
    // Connect a 10K resistor from pin 2 (data) to pin 1 (power) of the sensor //инициализация датчика
    DHT dht(DHTPIN, DHTTYPE);
    int VlagInPin = 3;
    int RelPin = 4;
    int PotPin = 5;
    byte vlaga = 75;
    int temp = 55;
    int vent =85;
    int pot; // переменная датчика затопления
    byte vf; // переменная для значения влаги во флеше static uint8_t mac[6] = {0x54,0x55,0x58,0x10,0x00,0x24}; static uint8_t ip[4] = {192,168,88,24};
    static uint16_t port = 80; ETHER_28J60 ethernet; void setup()
    { dht.begin(); // pinMode(VlagInPin, INPUT); pinMode(RelPin, OUTPUT); digitalWrite(RelPin, HIGH); pinMode(PotPin, OUTPUT); digitalWrite(PotPin, HIGH); vf = EEPROM.read(0); //чтение из флеш значение влаги для сработки вентилятора if ( vf > 110) { EEPROM.write(0, 110); // Запись нового значения в Флеш } ethernet.setup(mac, ip, port); } void loop()
    { // чтение температуры и влажности займет примерно 250 миллисекунд //float h = dht.readHumidity(); //float t = dht.readTemperature(); vlaga = dht.readHumidity(); temp = dht.readTemperature(); pot = digitalRead(VlagInPin); if (pot == LOW) { // Условие включения и отключения затопления digitalWrite(PotPin, LOW); } if (pot == HIGH) { // Условие включения и отключения затопления digitalWrite(PotPin, HIGH); } if (vlaga >= vf) { // Условие включения и отключения вентиляции digitalWrite(RelPin, LOW); } if (vlaga < vf-1) { // Условие включения и отключения вентиляции digitalWrite(RelPin, HIGH); } String param; if (param = ethernet.serviceRequest()) { ethernet.print("

    Большой подвал

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

    “); ethernet.print(“ОБНОВИТЬ СОСТОЯНИЕ
    “); if (pot == LOW) { // Условие включения и отключения затопления ethernet.print(”

    Внимание Затопление!!!

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

    “); } if (temp 110) { vf=110; } EEPROM.write(0, vf); // Запись нового значения в Флеш } if (param == “minus”) { vf–; // Уменьшить значение переменной влаги if ( vf < 5) { vf=5; } EEPROM.write(0, vf); // Запись нового значения в Флеш } ethernet.print("

    Температура

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

    “); ethernet.print(”

    “); ethernet.print(temp); ethernet.print(“

    “); ethernet.print(”

    Влага

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

    “); ethernet.print(”

    “); ethernet.print(vlaga); ethernet.print(“

    “); ethernet.print(”

    Сработка Вентиляции

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

    “); ethernet.print(”

    “); ethernet.print(vf); ethernet.print(“

    Зимний сад

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

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

    Оборудование

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

    Кроме основного контроллера в проекте используются:

    • Второй контроллер Arduino Mega 2560
    • Плата сетевого интерфейса Ethernet Shield
    • 2 беспроводных модуля nRF24L01
    • 3 цифровых температурных датчика DS18B20
    • Датчик температуры и влажности воздуха DHT22
    • 15 датчиков влажности почвы
    • 4 датчика освещённости
    • 2 датчика уровня воды
    • 7 сервоприводов для управления жалюзи
    • 12 шаговых моторов для управления ролл-шторами
    • 18 реле для коммутации нагрузок 220 В

    Топология подсети «Зимний сад»

    На этой схеме представлена топология подсети «Зимний сад». Эта подсеть, в свою очередь, входит в сеть «Умная дача». Каждый управляющий контроллер которой («Дом», «Баня», «Котельная» и т. д.) тоже имеют свои подсети, подобные этой.

    В связи с протяжённостью зимнего сада, не очень удобно прокладывать провода от контроллера ко всем его отдалённым частям, поэтому применено решение из двух одинаковых контроллеров Arduino Mega 2560, объединённых в единую систему при помощи беспроводного nRF24 канала

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

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

    Режимы работы

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

    В интерфейсе можно выбрать один из четырёх режимов работы системы: «авто», «ручной», «кабинет», «кино».

    Основным является автоматический режим. В этом режиме система сама управляет всем подключённым к ней оборудованием (робот) — открывает и закрывает окна, жалюзи и шторы, поливает растения, следит за уровнем воды и т. д.

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

    Режимы «кабинет» и «кино» — это специализированные вариации режима «авто» с настройками штор и жалюзи для работы в кабинете или просмотра фильмов. Эти функции не относятся непосредственно к «Зимнему саду», они появились в системе в связи с соседством сада и дома.

    Контроль температуры и влажности воздуха

    Данные о температуре система получает от датчиков DS18B20, объединённых в 1-Wire сеть. Две зоны контроля температуры в зимнем саду и данные о температуре на улице. К системе также подключён датчик температуры и влажности воздуха DHT22. Все эти данные используются системой для управления микроклиматом зимнего сада.

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

    Лимиты отклонений температуры

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

    В данном случае отклонение температуры по всем зонам составляет 22,25 градуса Цельсия (это тестовый пример) и система уведомила об этом, отослав три SMS сообщения.

    Система полива растений

    Система поддерживает 15 независимых каналов полива растений, каждому из которых можно задать индивидуальные настройки. Часть этих каналов подключена к главному контроллеру, часть — к nRF24 партнёру. Для пользователя это подключение прозрачно, он видит только 15 каналов, которые управляются и работают одинаково.

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

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

    Каждый из 15-и каналов используется для полива групп растений со сходными потребностями во влажности почвы. Например, 1-й канал можно настроить на полив орхидей, а 10-й — на полив кактусов.

    Установки каналов полива

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

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

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

    Параметры полива

    Здесь задаются общие настройки для всей системы определения влажности почвы и полива растений.

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

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

    Управление окнами

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

    Цвет кнопки указывает на текущее положение окна: оранжевый — открыто, серый — закрыто.

    Управление жалюзи

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

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

    Управление ролл-шторами

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

    Панель управления

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

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

    Время восхода и захода солнца

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

    Индикатор имеет два состояния: «SUN» на жёлтом фоне (в светлое время суток), «MON» на синем фоне (в тёмное).

    SMS-сервер

    Проект «Зимнего сада» входит в общий проект «Умная дача». В локальной сети «Умной дачи» работает SMS-сервер, который обеспечивает передачу SMS со всех контроллеров сети на мобильные телефоны и приём управляющих SMS с мобильных телефонов и передачу их контроллерам сети.

    В панель управления выводится информация о доступности в сети SMS-сервера. В данном случае SMS-сервер не работает.

    Другие контроллеры сети

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

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

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

    nRF24 партнёр

    Как уже отмечалось выше, система состоит из двух контроллеров Arduino Mega («главного» и «партнёра»), объединённых в одно целое по беспроводному nRF24 каналу. Поскольку работа партнёра полностью прозрачна и скрыта от пользователя, то он ничего не знает о состоянии самого партнёра.

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

    Индикация температуры

    Информация с цифровых датчиков DS18B20, подключённых по проводному соединению 1-Wire к системе. Используется для создания комфортных условий для выращивания растений в зимнем саду.

    Датчик влажности воздуха

    Информация о влажности и температуре воздуха с датчика DHT22, подключённого к главному контроллеру.

    Датчики влажности почвы

    Состояние всех 15-и датчиков влажности почвы в реальном времени. Весь диапазон возможных уровней влажности почвы разбит на несколько поддиапазонов: «сухая», «суховатая», «нормальная», «влажная», «залита водой».

    Каждому уровню влажности соответствует свой цвет. В данном случае датчики M4, M6, M8, M9 показывают нормальный уровень влажности (зелёный цвет), датчики M2, M3 — сухую почву (оранжевый), остальные — суховатую (коричневый). Какие каналы будут поливаться в данном случае зависит от настроек, заданных пользователем в веб-интерфейсе.

    Реле полива растений

    Информация о состоянии 15-и реле полива растений. В соответствии с показаниями датчиков влажности почвы и настройками, система решила, что в данный момент нужно включить на полив реле W2, W3, W5, W7, W10, W11, W12, W13, W14, W15.

    Реле управления окнами

    Состояние реле управления открыванием и закрыванием окон. В ручном режиме управление производится из веб-интерфейса, в автоматическом система сама открывает и закрывает их. В данный момент окна закрыты.

    Реле управления экраном

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

    Сервоприводы управления жалюзи

    Информация о положении 7-и сервоприводов управления жалюзи. Все жалюзи разбиты на две группы S1 (5 жалюзи) и S2 (2 жалюзи).

    Моторы управления ролл-шторами

    Информация о положении 12-и ролл-штор. Все ролл-шторы разбиты на четыре группы C3 (6 ролл-штор), C4 (3 ролл-шторы), C5 (2 ролл-шторы) и C6 (1 ролл-штора). Эти группы используются в ручном и автоматическом управлении шторами.

    Датчики уровня воды

    К системе подключены два датчика уровня воды, один к главному контроллеру, другой к беспроводному nRF24 партнёру. Несмотря на различие в подключении и работу одного датчика через беспроводной канал, оба датчика выглядят в интерфейсе совершенно одинаково.

    Датчики освещённости

    К системе подключены 4 датчика освещённости. 2 из них непосредственно к главному контроллеру и 2 — к nRF24 партнёру. Датчики определяют несколько градаций освещённости: «открытое солнце», «солнечно», «день», «пасмурно», «сумерки», «ночь». Эти данные используются системой в своей работе и уходе за растениями.

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

    Развитие проекта

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

    Функции, реализованные в проекте

    • Комплексное управление зимним садом
    • Управление системой из веб-интерфейса
    • Адаптивный дизайн для использования на планшетах и смартфонах
    • Отсылка тревожных и информационных SMS сообщений
    • Сохранение настроек в энергонезависимой памяти
    • Реализация распределённой устойчивой системы без главного компьютера

    Датчики и актуаторы

    • Подключение 3-х температурных датчиков DS18B20 по сети 1-Wire
    • Подключение датчика температуры и влажности воздуха DHT22
    • Подключение 2-х датчиков уровня воды
    • Подключение 4-х датчиков освещённости
    • Подключение 15-и датчиков влажности почвы
    • Подключение 7-и сервоприводов для управления жалюзи
    • Подключение 12-и моторов для управления ролл-шторами
    • Подключение 18-и проводных реле коммутации нагрузок 220 В

    Режимы работы системы

    • Режимы работы системы «авто», «ручной»
    • Смена режима в веб-интерфейсе

    Температура

    • Установка параметров температуры в веб-интерфейсе
    • Слежение за заданной температурой
    • Контроль температуры в реальном времени на веб-странице
    • Задание лимитов отклонения температуры в веб-интерфейсе
    • Индикация нарушений температурных лимитов на веб-странице
    • Отсылка тревожных SMS при нарушении лимитов температур

    Полив растений

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

    nRF24 сеть

    • Поддержка работы nRF24 сети
    • Распределённая nRF24 система
    • Использование AMS nRF24 беспроводного стека и протокола
    • Индикация состояния nRF24 партнёра в панели управления

    Управление окнами

    • Управление окнами автоматически, в зависимости от режима
    • Управление окнами вручную из веб-интерфейса

    Управление сервоприводами жалюзи

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

    Управление ролл-шторами

    • Открывание и закрывание ролл-штор из веб-интерфейса
    • Произвольный выбор величины открытия штор
    • Автоматическое управление ролл-шторами
    • Индивидуальное и групповое управление ролл-шторами
    • Индикация в реальном времени положения ролл-штор

    Работа со временем

    • Синхронизация времени с серверами в интернете
    • Отслеживание временных интервалов
    • Отслеживание времени суток
    • Отслеживание времени восхода и захода солнца

    SMS сообщения и команды

    • Интеграция с AMS SMS-сервером
    • Отсылка SMS сообщений на мобильный телефон
    • Приём управляющих SMS от SMS-сервера

    Сетевая работа

    • Интеграция с другими контроллерами сети
    • Приём управляющих команд по сети от других контроллеров
    • Отсылка управляющих команд другим контроллерам сети
    • Ссылки в интерфейсе для перехода между контроллерами сети

    Индикация

    • Индикация состояния всех объектов системы в реальном времени
    Оцените статью
    Просто о технологиях
    Добавить комментарии

    ;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: