В первый вариант добавлена функция управления вентиляторами для стабилизации температуры и влажности воздуха. Во второй программе доступ к страницам установки параметров происходит после ввода пароля.
Предыдущая статья Список статей Следующая статья
Контроллер гроубокса, который я сделал в прошлом, году опять меня выручает. Не знаю, как бы я обходился без него.
За прошлую зиму вырастил в гроубоксе банан. Весной посадил его в открытый грунт на даче. Банан вырос, даже дал деток и остался там зимовать. Сейчас он выглядит так.
Я спилил ствол, посыпал пенек углем. Укрыл на зиму.
Надеюсь, банану там будет хорошо. Вернее бананам. Один отросток пересадил на полтора метра от матери, и еще 3 ростка оставил рядом.
А в гроубоксе сейчас живет инжир. К удивлению друзей, мой инжир Брунсвик дал урожай в открытом грунте, и даже вызрела большая часть плодов. Для Ростовской области событие редкое.
Я срезал несколько веток, сделал черенки, высадил сначала в воду, затем в грунт.
Установил контейнеры в гроубокс. Инжиру там явно понравилось. Растет быстро. Только середина ноября, а уже надо менять конструкцию устройства и подсветку. Боюсь, проблемы с разрастанием инжира будут больше, чем с прошлогодним бананом.
Нашел контроллер. Включил, даже время не пришлось устанавливать.
Я написал о своих успехах на даче не только, чтобы похвастаться, но и объяснить, как я использую гроубокс.
В общем, я осознал, что контроллер гроубокса зимой мне действительно необходим, и я буду продолжать развивать это проект.
Как я писал в предыдущей статье, дополнительной, а может основной, движущей силой проекта является Игорь из Минска. Он сделал большой гроубокс с хорошим освещением и вентиляторами. Создает фильмы о вариантах устройства. По этому IP-адресу (http://93.125.0.137:85/) вы можете сами в реальном времени получить информацию от его контроллера.
Дальше проект развивается по предложениям Игоря. Следующее, что он попросил добавить в программу – управление вентиляторами для стабилизации температуры и влажности воздуха. Этот вариант программы я и представляю.
Контроллер горубокса со стабилизацией температуры и влажности воздуха.
С аппаратной точки зрения к предыдущему варианту контроллеру подключаются два вентилятора для контроля температуры и влажности.
- Если температура выше нормы, то включается вентилятор снижения температуры.
- Если влажность выше нормы, то включается вентилятор снижения влажности.
В этой версии программы вентиляторы работают только на снижение температуры или влажности. Как правило, необходим именно такой алгоритм регулировки микроклимата.
- Осветительные лампы нагревают воздух. И чтобы снизить его температуру надо выдувать воздух, заменяя более холодным.
- Растения испаряют воду и увеличивают влажность воздуха. Чтобы уменьшить влажность надо выдувать воздух, заменяя более сухим.
К примеру, сделать режим, при котором уменьшение температуры вызывает включение нагревательного элемента, не получится. Выбор режима включения и выключения вентиляторов появится в следующей версии программы. Я представлю ее в этой статье.
Подключить вентиляторы можно с помощью реле, подобно подключению освещения и полива в схеме контроллера из предыдущих статей.
С учетом того, что, как правило, вентиляторы питаются низким напряжением 12 В, можно для управления ими применить транзисторные ключи. Лучше MOSFET-ключи. У них низкое падение напряжения в открытом состоянии. Они почти не греются.
Только надо использовать низкопороговые транзисторы MOSFET (параметр VGS(th , Gate Threshold Voltage) . Максимальное напряжение выходных сигналов ESP8266 всего 3,3 В.
Выводы подключения реле или ключей вентиляторов определяются в строками:
#define TEMP_FAN_PIN 14 // вентилятор по температуре _-_ (D5)
#define HUM_FAN_PIN 10 // вентилятор по влажности _-_ (S3)
Активный уровень – высокий.
Вот скетч программы.
В основном окне программы появились два новых блока для вентиляторов температуры и влажности.
Формат: температура включения < * (индикатор состояния) < температура выключения.
Например, строка 28 < * < 27 C означает:
- При достижении температуры 28 C° включится вентилятор температуры. Звездочка станет красной.
- При снижении температуры менее 27 C° вентилятор выключится. Звездочка станет черной.
То же самое относительно вентилятора влажности.
Задать пороги срабатывания вентиляторов, можно нажав ссылки ”установить”. Открываются окна, в которых можно задать значения параметров.
Я отлаживал программу на макетном модуле NodeMCU. Игорь тестировал на своем контроллере.
Вариант программы использующей санкционированный доступ к установке параметров.
Следующая просьба Игоря – добавить пароль при установке параметров.
Пароль задается в строке:
const char* passPar = "12345"; // пароль доступа к параметрам устройства
Теперь при установке любого параметра система переходит на запрос пароля.
Если пароль введен правильно, то появляется обычное окно установки параметров.
Если нет, то выводится сообщение об ошибке и происходит возврат на основное окно программы.
Еще в новой версии можно задать направление работы регуляторов. Строки:
#define TEMP_VENT_INC 0 // работа вентилятора увеличивает (!=0) или уменьшает (0) температуру
#define HUM_VENT_INC 0 // работа вентилятора увеличивает (!=0) или уменьшает (0) влажность
Теперь можно применять нагревательные элементы и увлажнители.
- Если используется нагревательный элемент, который надо включать при снижении температуры ниже порога, то константа TEMP_VENT_INC должна иметь ненулевое значение.
- Если воздух надо увлажнять при снижении влажности, то константа HUM_VENT_INC должна иметь ненулевое значение.
Уже боле половины года эта версия работает у Игоря. Вы можете проверить на его реальном контроллере, обратившись из любого браузера по этому IP-адресу (http://93.125.0.137:85/).
Загрузить программу можно по ссылке
Не очень удобно имя сети, пароли, режимы работы задавать в исходном коде программы, компилировать и загружать ее в микроконтроллер с помощью Arduino IDE. В ближайшее время я собираюсь создать новую версию программы, в которой все эти параметры будут задаваться через окно конфигурации системы.
Планируется добавить кнопку, при нажатии на которую система переходит на установку основных параметров. В этом режиме используются имя сети и пароль, заданные в исходном коде программы. При подключении к сети в браузер посылается окно начальной конфигурации системы.Пользователь задает новые имя сети, свой пароль, режимы работы регуляторов и т.п.