Доработка контроллера гроубокса из предыдущих публикаций. Добавлен датчик влажности почвы и расширены возможности управления поливом.
Предыдущая статья Список статей Следующая статья
В предыдущих статьях был разработан контролер гроубокса, который включал освещение и полив по заданному расписанию. Он исправно проработал больше 3х месяцев. Ни единого сбоя. Не знаю, чтобы без него делал.
За это время банан вырос. Пришлось снять верхнюю раму гроубокса.
Осветительную лампу установить на рейке. Добавить вторую лампу. Ее я поставил на подоконник.
В результате, для освещения использовал всего 2 фитолампы мощностью 30 и 10 Вт. Боялся, что будет недостаточно. Но, нет. Вполне хватает. Листья у банана насыщенно зеленого цвета. И растет быстро. Значит освещения достаточно.
Через 3-4 недели банану перебираться на дачу в открытый грунт. А сейчас к нему присоединились саженцы ленкоранской акации и овсяницы сизой. Для их освещения использую еще одну светодиодную лампу, которую подключил к общему контроллеру.
Все это время мне явно не доставало измерителя влажности почвы. Я сильно переживал, что засушу банан. Приходилось пальцем трогать почву, чтобы определить, не пора ли поливать.
Надо было давно сделать измеритель влажности почвы. Но времени не хватало. Скоро банану уезжать из квартиры. Датчик влажности добавлять или сейчас, или осенью. Решил выкроить время на эту работу.
Сразу скажу, что нового появилось в проекте по отношению к предыдущей разработке.
- Режим полива теперь можно запускать не только по расписанию, но и вручную, нажав на кнопку в главном окне программы.
- К контроллеру можно подключить датчик влажности почвы, показания которого отображаются на экране смартфона.
- Есть возможность калибровки датчика с записью коэффициентов в энергонезависимую память контроллера.
Теперь подробно о датчике, который я использую для измерения влажности почвы.
Емкостной датчик влажности почвы (Capacitive Soil Moisture Sensor V1.2).
Я использовал емкостной датчик. В отличие от датчика влажности почвы с двумя открытыми проводниками он не подвержен коррозии. Да и выглядит более компактным.
Купил его на АлиЭкспресс за 86 рублей. На датчике маркировка Capacitive Soil Moisture Sensor V1.2, что переводится как “емкостной датчик влажности почвы”.
Датчик представляет собой печатную плату, на которой в виде дорожек расположены два электрода и схема преобразования их емкости в напряжение.
Часть платы с электродами покрыта токоизилирующей маской. Она погружается в почву, но электроды не имеют электрического контакта с землей. В зависимости от влажности грунта меняется емкость между ними.
Электронная схема преобразует значение емкости между электродами в постоянное напряжение.
Вот принципиальная схема датчика Capacitive Soil Moisture Sensor V1.2.
На микросхеме TLC555 собран генератор с частотой приблизительно 1,5 мГц. Высокочастотный сигнал с выхода генератора через резистор R2 поступает на детектор и сглаживающий фильтр VD1, C3, R1. Этот же сигнал шунтируется после R2 емкостью измерительных электродов. Чем больше влажность почвы, тем больше емкость электродов, тем меньше выходное напряжение.
При питании датчика напряжением 3 В выходное напряжение изменяется в пределах 1…2 В.
Не думаю, что у датчика высокая точность. Чего стоит диодный выпрямитель, падение напряжения на котором зависит от температуры. Но в любом случае датчик будет измерять влажность почвы точнее, чем кожные рецепторы. И пальцы при этом пачкаться не будут.
Я уже говорил, что купил датчики на АлиЭкспресс. Меня ждало разочарование. Решил проверить, как они работают. Подключил первый датчик к блоку питания, вольтметр на выход и увидел, что на выходе постоянное напряжение, не зависящее от состояния датчика. Посмотрел осциллографом, не работает генератор.
Оказалось, что в моих датчиках установлен таймер NE555 и отсутствует стабилизатор 3 В.
Очевидно, предполагалось, что датчик должен работать от 5 В. Напряжение питания микросхемы NE555 строго 5 В. От 3 В она не работает. Но мне необходим выходной диапазон напряжения до 3 В.
И главное, для NE555 нужны времязадающие компоненты с другими номиналами. Так что и от 5 В такие датчики не работают.
Пришлось привести его в соответствие со схемой. Заменить таймер на TLC555CDR и установить стабилизатор. После этого датчик заработал.
Подключение датчика к микроконтроллеру.
Для разработки и отладки программы я использовал первый вариант контроллера на модуле Node MCU. Подключил датчик по следующей схеме.
У модуля ESP-12E, который установлен в Node MCU есть один аналоговый вход. Диапазон входного напряжения 0…1 В, разрешение 10 разрядов.
Выходное напряжение датчика до 3 В.
Но в модуле Node MCU на входе A0 установлен резисторный делитель 220 кОм / 100 кОм. Таким образом, аналоговый вход A0 измеряет напряжение в диапазоне 0…3 В. Можно подключить датчик непосредственно к нему.
Все остальные компоненты схемы я собрал еще при разработке первого варианта гроубокса.
Программное обеспечение контроллера гроубокса.
Загрузить резидентное программное обеспечение контроллера можно по ссылке:
Чтобы не нарушать целостность информации я кротко повторю об управлении теми элементами программы, которые были реализованы в предыдущей версии устройства.
Контроллер гроубокса создает свою собственную сеть WiFi, а в ней свой Web-сайт. Через него можно управлять устройством с помощью любого устройства: смартфона, планшета, ноутбука. Никакую программу устанавливать не надо. Используется любой браузер.
Заходите в настройки смартфона, находите сеть гроубокса (у меня GrowBox2) и подключаетесь к ней.
Как правило, автоматически открывается основная страница Web-сайта, который создает контроллер.
Если это не произошло, то необходимо открыть браузер и в адресной строке набрать заданное доменное имя или IP-адрес.
Основное окно программы оформлено просто, без излишеств. Информация обновляется каждые 2 секунды.
Первый абзац показывает текущее время. Оно формируется в энергонезависимых часах и не теряется при выключении питания. Для установки есть соответствующая ссылка.
Следующий абзац управляет освещением.
- Звездочки ”***” красного цвета означают, что освещение включено.
- Звездочки ”***” черного цвета индицируют, что освещение отключено.
- В начале и конце строки показаны времена включения и выключения освещения.
По ссылке ”установить” открывается страница задания параметров освещения.
Полив происходит с максимальным циклом неделя. Абзац полива показывает:
Дни недели, в которые надо поливать. Отмечены жирным шрифтом.
- Символы ”…..” означают, что в данный момент полив не происходит.
- Символы ”’ ‘ ‘ ‘ ‘” означают, что в данный момент идет полив.
- Время перед символами состояния показывает начало полива.
- Время в конце строки – длительность полива.
Параметры полива задаются по ссылке ”установить”.
К абзацу “Полив” добавились две ссылки.
Запустить полив и остановить полив
- По первой запускается процесс полива заданной длительностью независимо от установленного времени.
- По второй ссылке его можно остановить в любой момент.
Новый абзац ”Влажность” показывает значение влажности почвы.
Кроме того в нем есть ссылка ”Калибровка датчика.”
По ее нажатию устройство переходит в режим калибровки.
Все интуитивно понятно.
Необходимо нажать на ссылку ”Датчик сухой” когда он сухой и на ссылку ”Датчик в воде” после того, как опустили его в воду.
Контроллер запомнит эти значения в энергонезависимой памяти и будет вести отсчет влажности в заданном диапазоне.
Можно проверить, приложив к датчику влажную салфетку.
Контроллер индицирует состояние своей работы с помощью светодиода. Об этом можно почитать в предыдущей статье цикла.
Доработка аппаратной части контроллера.
Если используется модуль Node MCU, то датчик подключается по схеме выше. Только лучше запитать его от напряжения 5 В.
Для устройства, собранного на модуле ESP-12E надо добавить делитель напряжения.
Все остальное без изменений.
Поставил новое устройство на эксплуатацию. С трудом воткнул датчик в ведро с грунтом до половины его длины.
Наверное, корни банана заполнили почти весь объем.
Проверил. Работает замечательно. После полива влажность была 95%. Через 3 дня снизилась до 89%.
Вот фильм, созданный Игорем, об этом варианте контроллера гроубокса.
Осталась проблема, описанная в предыдущих статьях. При подключении бывает, что система зависает на несколько секунд, но всегда восстанавливается сама. Эта проблема свойственна микроконтроллеру ES8266.
Дополнение. В предыдущей статье пишу, как решается проблема зависания ESP8266 при подключении к сети WiFi.
Скорее всего, следующую свою деятельность в разделе ”Умное растениеводство” направлю на разработку датчика влажности открытого грунта. У меня на даче такая проблема существует.
Скетч GrouBox_2_3, не хочет работать на двух контроллерах, он постоянно по кругу, получает IP и отваливается от сети, и заново получает IP и так всё время, сразу думал что с контроллером что то не то но нет, не могли бы глянуть скетч, в чём там ошибка? первый вариант нормально работает. Спасибо
Здравствуйте!
У меня работает замечательно.
Попробуйте в Arduino IDE в Инструменты установить Erase Flash: Sketch + WiFi Settings
Попробую сегодня , спасибо большое за помощь !
Можно Вас попросить Прикрутить в скетч DHT датчик ?
Я сделал ГроуБокс Дома большой, есть (фото), Всё по Вашим урокам, но DHT уже не первый день пытаюсь прикрутить датчик влажности и температуры воздуха, а он очень у меня важен для рассады, пока приходится использовать Ваш гроу бокс и на enc28j60 датчик, может поможете ? Я отблагодарю !
Здравствуйте!
Попробую найти время. Но долговременных испытаний не будет. В прошлый четверг отключил гроубокс, банан посадил на даче в открытый грунт. Теперь трясусь над ним.
Плохо что нельзя фотки скинуть сюда Вам, я бы показал, как вырастил в горшках на балконе под лампами огород ) У меня уже помидоры и перцы по 4см в диаметре висят,,Всё таки автоматика даёт свой эффект, А банан я так понимаю у Вас не декоративный а настоящий ? Пока только досвечиваю, с 21 часа по 23 часа, и полив в 7:30 утра.
Я вырос на Ваших уроках, и благодаря Вам У меня Всё растёт)))
если можно датчик DHT 22
если нужна прямая связь, я в телеграмме +375292718641
ihar ihar.t и вайбер
Добрый день Эдуард, я хотел обратиться с просьбой к Вам,
Я первую версию Данной прошивки адаптировал под модуль ESP8266-01 с модулем часов-1307, хочу снять видео и выложить в ютуб, если Вы не против, по скольку автор Вы, и хотел бы рассказать про Ваш сайт, хочу попросить Вашего разрешения.
Да, конечно выкладывайте.
Вы получили последнюю версию с DHT22?
Добрый день, да получил, Спасибо огромное, Вот уже двое суток, полёт нормальный! Я на почту скинул пару писем Вам, Если нужно могу скинуть скетч для ESP8266-01 (01S) Первой версии но с датчиком DHT11/22 и схему подключения, если нужно, пусть люди пользуются на здоровье. И я нашел Китайские косяки в датчике влажности почвы (один что Вы описывали выше это другая микросхема и второй отсутствие транзистора (скорее всего), вместо него стоит резистор просто, но и нашел оригинальный такой датчик за копейки.
Добрый день Эдуард, отправил Вам письмо с проектом.
Добрый вечер, Эдуард Вы письмо получили ?