Управление вытяжкой в погребе или подвале

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

то как оно работает у меня:

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

Принцип работы прост, измеряем температуру и относительную влажность воздуха в подвале и на улице (в приточной трубе вентиляции), из этих данных вычисляем абсолютную влажность и если в подвале влажность больше чем на улице, включаем вытяжной вентилятор. Для этого установлено два «датчика» с интерфейсом RS485, датчики являются исполнительными устройствами и по запросу передают в сеть данные с сенсора HDC1080 или управляют 9 ногой ардуино к которому подключен мосфет, который в свою очередь управляет вытяжным 12 вольтовым вентилятором. Отправляет команды на датчики ардуино леонардо, он же вычисляет абсолютную влажность из полученных с датчиков данных о температуре и влажности, дает команду на включение или выключение вентилятора, отображает информацию на LCD экране, передает телеметрию на радиомодуль HC12.

Уличный датчик, собран на плате с микроконтроллером, микросхемой MAX485 и стабилизатором питания AMS1117-05. имеет разъем с питанием и I2C шиной для подключения датчика температуры и влажности серии SHT, HDC или подобных, которые могут быть установлены на плате китайского модуля и две колодки, одну для подключения шины RS485 и питания, вторую, для подключения датчиков с однопроводной шиной. Изначально планировалось использовать датчик AM2301 или ему подобный и подключать его к той колодке, в итоге используется HDC1080 в I2C.

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

Платы в формате .lay

на ардуино леонардо, установлен протошилд, на котором распаяны колодки для подключения RS485 и питания, китайский модуль на МАХ485, колодка для LCD1602 с I2C и радиомодуль HC12. для сети RS485 используется экранированная витая пара для локальной сети.

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

Код:

код для леонардо с LCD1602 и HC12, как есть
платка для HDC1080, уличный датчик, стоит в дырке у входа
платка с HDC1080 и мосфетом для управления вытяжкой в подвале
Библиотеки

то как повторить и адаптировать под себя:

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

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

А так выглядит код из которого убрано всё что относится к железу.

код

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