Оглавление:

Монитор температуры и влажности - Arduino Mega + Ethernet W5100: 5 шагов
Монитор температуры и влажности - Arduino Mega + Ethernet W5100: 5 шагов

Видео: Монитор температуры и влажности - Arduino Mega + Ethernet W5100: 5 шагов

Видео: Монитор температуры и влажности - Arduino Mega + Ethernet W5100: 5 шагов
Видео: КАК УПРАВЛЯТЬ АРДУИНО ПО ЛОКАЛЬНОЙ СЕТИ - Ethernet Shield W5100 2024, Ноябрь
Anonim
Монитор температуры и влажности - Arduino Mega + Ethernet W5100
Монитор температуры и влажности - Arduino Mega + Ethernet W5100

Модуль 1 - FLAT - оборудование:

  • Ардуино Мега 2560
  • Wiznet W5100 Ethernet Shield
  • 8 датчиков температуры DS18B20 на шине OneWire - разделены на 4 шины OneWire (2, 4, 1, 1)
  • 2 цифровых датчика температуры и влажности DHT22 (AM2302)
  • 1x датчик температуры и влажности SENSIRION SHT21 (Si7021)
  • 1x датчик температуры и влажности (и давления воздуха) BOSCH BME280
  • Отправляет данные со всех датчиков сразу за несколько минут (можно изменить)

Модуль 2 - КОТЛ - оборудование:

  • Ардуино Мега 2560
  • Wiznet W5100 Ethernet Shield
  • 16 датчиков температуры DS18B20 на шине OneWire - разделены на 7 шин OneWire (2, 2, 2, 2, 2, 2, 4)
  • 8x цифровых входов
  • 8 цифровых выходов - для соленоида / реле
  • Отправляет данные со всех датчиков сразу за несколько минут (можно изменить)
  • Считывает состояния отдельных выходов из веб-интерфейса, применяет их. Отправляет состояния цифровых входов.

Шаг 1. Введение

Вступление
Вступление
Вступление
Вступление
Вступление
Вступление

Сегодня я подробно расскажу о последнем реализованном проекте, который достаточно сложен по функционалу, количеству используемых датчиков, платам Arduino, используемым шинам данных. Проект состоит из двух модулей. Физически каждый модуль состоит из отдельной платы Arduino Mega 2560, экрана Ethernet W5100 (совместим с R3) и датчиков, которые он использует.

Каждый модуль связывается с веб-интерфейсом в Интернете с помощью запросов HTTP POST, с помощью которых веб-сервер продает данные или запрашивает некоторые данные, например, через запрос POST (только модуль 2). Веб-интерфейс дополнен системой входа в систему, в то время как вся семья может зарегистрироваться в системе, каждый со своим именем и паролем. Таким образом, это многопользовательское приложение, в котором каждый член семейства имеет обзор обоих модулей и может выполнять различные действия - устанавливать эталонную температуру, контролировать термометр и т. Д. Веб-интерфейс запрограммирован на PHP, данные хранятся в базе данных MySQL. Каждый из модулей имеет отдельную таблицу в базе данных для данных. Рассмотрим отдельные модули более подробно.

Шаг 2: Модуль 1 - ПЛОСКИЙ

Модуль 1 - ПЛОСКИЙ
Модуль 1 - ПЛОСКИЙ
Модуль 1 - ПЛОСКИЙ
Модуль 1 - ПЛОСКИЙ

Весь модуль 1-FLAT служит только для контроля температуры в отдельных помещениях, никакой другой роли у него нет. Датчики DHT22 использовались на большом расстоянии с использованием подходящего подтягивающего резистора 10 кОм для регистрации влажности в ванных комнатах. Поскольку BME280 и SHT21 обмениваются данными по шине I2C, а длина драйвера шины значительно ограничена, датчики используются в помещениях рядом с Arduino.

Датчики температуры DS18B20 разделены на 4 шины, поскольку используются два внешних датчика, что упрощает их подключение к отдельным выходам Arduino, а в случае падения датчика их легче заменить, поскольку это не парализует функциональность. системы.

Например, в случае одной из этих шин OneWire, на которой индексировано 4 датчика. Индекс связан с физическим адресом термометров, поэтому при замене одного из датчиков новый датчик может появиться в индексе 0 - начальный, или даже 2, 3 или последний. Таким образом, уменьшив количество датчиков в автобусах, можно избежать такой сложности, которая может возникнуть при замене датчика.

Шаг 3: Модуль 2 - КОТЛ

Модуль 2 - КОТЕЛЬ
Модуль 2 - КОТЕЛЬ
Модуль 2 - КОТЕЛЬ
Модуль 2 - КОТЕЛЬ
Модуль 2 - КОТЕЛЬ
Модуль 2 - КОТЕЛЬ

В дополнение к функции контроля, модуль 2 - КОТЛ также выполняет более важную роль, а именно управление соленоидами или реле для управления клапанами радиатора. Модуль работает независимо от отопления дома. Модуль не переключает отопление или бойлер. Модуль заботится только об открытии, закрытии клапана радиатора, если температура в помещении ниже / выше заданной - т.н. эталонная температура. Каждому помещению, где регулируется вентиль радиатора, может быть назначен определенный термометр из модуля 2. В дополнение к этому - автоматическому режиму, есть также ручной режим, в котором вентиль можно открывать / закрывать вручную через веб-интерфейс на неопределенное время - жестко. Цифровые входы можно использовать для проверки того, что соленоид / реле / клапан был открыт / закрыт по запросу с Arduina - возможность сравнить, равен ли выход входному.

Шаг 4. Что предлагает веб-интерфейс?

Что предлагает веб-интерфейс?
Что предлагает веб-интерфейс?
Что предлагает веб-интерфейс?
Что предлагает веб-интерфейс?

Для обоих модулей также есть графическое представление линейной диаграммы для развития отдельных переменных - температуры, влажности за 24 часа, 7 дней. Веб-интерфейс также предлагает просмотр максимального / минимального, среднего значения за 24 часа, 7 дней для каждого термометра / гигрометра. В модуле 1 изначально рассматривалась пара датчиков SHT21, но поскольку у них нет возможности изменять адрес I2C, необходимо использовать мультиплексор для связи по одной шине от двух датчиков с одинаковым адресом I2C. В случае ошибочных данных датчика имя датчика сохраняется в журнале, который системный администратор может открыть в любое время для обслуживания шины OneWire и, например, замены неисправного датчика.

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

Другие проекты вы можете найти по адресу: https://arduino.php5.sk?lang=en Пожертвуйте, чтобы увидеть больше примеров:

Рекомендуемые: