Умный дом #6: Умный полив на ESP32

Автоматический полив на ESP32 — практичный проект, который помогает поддерживать здоровое состояние растений дома и на участках. В этой статье мы соберём систему на базе ESP32 с датчиком влажности почвы и реле для насоса: реализуем автоматический режим по порогу влажности, ручной режим, а также удобное WEB-управление с телефона/ПК. Приведём полностью рабочий код и разберём ключевые нюансы — от подключения датчика до защиты насоса от «закипания» и частых включений.

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

  • ESP32 DevKit (с поддержкой Wi-Fi).
  • Датчик влажности почвы — рекомендуется ёмкостной (capacitive soil moisture sensor) на 3.3 В. Он долговечнее резистивных «вилок» и меньше подвержен коррозии.
  • Реле/модуль реле для управления насосом:
    • Для DC-насоса 5–12–24 В — лучше использовать транзисторный ключ (MOSFET) с обратным диодом на катушке/моторе.
    • Для AC 220 В — твердотельное реле (SSR) или модуль реле с оптронной развязкой и отсечкой дуги. Соблюдайте электробезопасность!
  • Насос (погружной или поверхностный) под ваше напряжение.
  • Блок питания соответствующей мощности (для ESP32 — 5 В; для насоса — по паспорту).
  • Соединительные провода, клеммы, при необходимости — корпус/бокс IP-класса.
  • По желанию: MOSFET-ключ для питания датчика от GPIO (через транзистор) — чтобы уменьшить коррозию, подавая питание только на время измерения.

Схема подключения и принцип работы

Система состоит из трёх частей: ESP32 (мозг), датчик влажности (измерение), исполнительный модуль (реле/транзистор для насоса). ESP32 периодически опрашивает датчик, вычисляет текущую влажность в процентах и принимает решение: если режим Auto и влажность ниже порога — включить насос. Насос работает до достижения порога (с гистерезисом) или до максимального времени полива (защита от «залипания»/сухого хода). Между поливами выдерживается «охлаждение» (cooldown), чтобы избежать частых стартов.

Рекомендуемые пины (можно менять):

Сигнал ESP32 пин Примечание
Датчик влажности — аналоговый выход GPIO34 (ADC1) Вход только на чтение; типичные ёмкостные датчики работают от 3.3 В
Питание датчика (через ключ) GPIO25 GPIO управляет MOSFET/транзистором, подающим 3.3 В на датчик только на время измерения
Реле насоса / MOSFET-ключ GPIO26 Часто реле — active LOW; уточните ваш модуль
GND GND Общий «минус» для ESP32, датчика и ключа

Важно: не подавайте 5 В на аналоговый выход датчика, если он подключен к ADC ESP32. Для многих ёмкостных датчиков корректно питание от 3.3 В. Если используете DC-насос, установите диод Шоттки параллельно мотору (обратной полярностью) для гашения ЭДС самоиндукции. При работе с 220 В — используйте правильную розетку/корпус, клеммы, заземление и соблюдайте нормы электробезопасности.

Пример кода (ESP32 + датчик влажности + реле насоса + WEB)

Код реализует авто/ручной режимы, защиту по времени, «охлаждение» между поливами и простую веб-страницу со статусом и настройками. Тайминги и режим сохраняются в NVS, переживают перезагрузку.

Короткое объяснение кода

  • Чтение влажности: датчик питается только во время измерения (PIN_SENSOR_PWR), затем производится несколько чтений ADC и усреднение. Сырые значения калибруются в проценты с помощью пар ADC_DRY/ADC_WET (подберите под ваш датчик).
  • Режимы: MODE_AUTO включает насос при влажности ниже порога (с гистерезисом), отключает при достижении порога или по истечении Max ON. Между циклами соблюдается Cooldown. В MODE_MANUAL насос управляется только из WEB.
  • WEB-интерфейс: корневая страница показывает статус (влажность, режим, состояние насоса) и позволяет менять порог/тайминги/режим. Обновление — запросом /status каждые 2 секунды. Ручные команды — /pump?cmd=1|0.
  • Хранение настроек: порог и тайминги сохраняются в NVS (Preferences) и восстанавливаются при старте.
  • Безопасность: логика ограничивает максимальное непрерывное время работы насоса и предотвращает «дёрганье» частыми включениями.

Применение и расширение проекта

  • Капельный полив комнатных растений и грядок: стабильная подача небольших доз воды, защита от пересушивания и перелива.
  • Мультисекция: расширьте проект несколькими каналами (несколько датчиков/насосов) и общим WEB-интерфейсом с вкладками.
  • MQTT и Home Assistant: добавьте публикацию показаний и состояния в брокер, настройте автоматизации по расписанию и уведомления в Telegram.
  • Графики: отправляйте данные во временное хранилище (InfluxDB) и визуализируйте в Grafana или ThingsBoard.
  • Датчик уровня бака и защита от сухого хода: запрет включения насоса при пустом резервуаре, сигнализация о низком уровне.
  • Климат-зависимый полив: учитывайте прогноз погоды/осадки (через облачный API) и корректируйте пороги.
  • Журнал событий: логируйте время поливов, длительность, влажность до/после — это поможет калибровать систему.
  • Питание датчика по расписанию: если датчик «шумный», читайте реже и дольше «прогревайте» перед чтением.

Заключение

Мы собрали полноценный контроллер полива на базе ESP32 с датчиком влажности почвы, реле насоса, автоматическим и ручным режимами и удобным WEB-управлением. Проект легко адаптируется: меняйте пороги и тайминги под конкретные растения, добавляйте MQTT/графики, подключайте дополнительные датчики. Такой модуль хорошо подходит как для домашнего применения, так и для лабораторных или учебных стендов.

Если вам нужен индивидуальный проект — разработка схемы, печатной платы, прошивки и корпуса под ваши требования — мы можем помочь. Создаём надёжные решения на ESP32 и берём на себя изготовление плат и сборку. Посмотрите примеры в нашем портфолио и напишите нам — обсудим задачу.

<< Проекты << Все товары >> Статьи, уроки >>

Написать отзыв

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

Калькуляторы для радиолюбителей и электронщиков

Онлайн-калькуляторы для расчёта напряжения, тока, сопротивления, делителя напряжения, резистора для ..

Линейный шаговый двигатель - что это?

Линейный шаговый двигатель - что это?

Линейный шаговый двигатель Привет, друзья! Мне выпала удачная возможность познакомить вас с, разр..

ESP32 пианино из фруктов

ESP32 пианино из фруктов

Тема проекта: ESP32 пианино из фруктов. Друзья, рад вас всех сегодня видеть опять. Хочу проде..

Поворотный стол Arduino Nano шаговый двигатель

Поворотный стол Arduino Nano шаговый двигатель

Здесь представлена пошаговая разработка проекта автоматического поворотного стола для фотографов. По..

Шестерня для зубчатого ремня на 40 зубьев под ось 5 мм

Шестерня для зубчатого ремня на 40 зубьев под ось 5 мм

Используется для передачи и редукции крутящего момента от двигателя до оси 5 ммКоличество зубьев 40 ..

79.68грн.