Розумний дім #6: Розумний полив на ESP32

Автоматичний полив на ESP32 — практичний проєкт, який підтримує здоровий стан рослин удома й на ділянці та зменшує рутину догляду. У цій статті ми зберемо систему на базі ESP32 з датчиком вологості ґрунту і реле для насоса: реалізуємо автоматичний режим за порогом вологості, ручний режим, а також зручне WEB-керування зі смартфона або ПК. Подамо повністю робочий код і розберемо критичні нюанси — від підключення й калібрування датчика до захисту насоса від «сухого ходу», обмеження часу роботи та антидребезгу вимірювань.

Список обладнання та компонентів

  • ESP32 DevKit (з підтримкою Wi-Fi).
  • Датчик вологості ґрунту — рекомендовано ємнісний (capacitive soil moisture sensor) на 3.3 В: він стійкіший до корозії, ніж резистивні «вилки».
  • Реле / ключ для насоса:
    • Для DC-насоса 5–12–24 В — MOSFET-ключ із зворотним діодом (flyback) паралельно двигуну.
    • Для AC 220 В — твердотільне реле (SSR) або модуль реле з оптоізоляцією. Обов’язково дотримуйтесь електробезпеки!
  • Насос (занурювальний або поверхневий) під вашу напругу та витрату.
  • Блок(и) живлення: для ESP32 — 5 В (≈1 А), для насоса — згідно з паспортом.
  • З’єднувальні дроти, клеми, за потреби — герметичний бокс (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 у відсотки за калібрувальними точками ADC_DRY/ADC_WET. Це зменшує шум і корозію.
  • Режими: у MODE_AUTO насос вмикається, коли вологість ≤ (поріг − гістерезис), і вимикається при досягненні (поріг + гістерезис) або по таймеру Max ON. Між циклами дотримується Cooldown. У MODE_MANUAL насос вмикається/вимикається лише через WEB.
  • WEB-інтерфейс: головна сторінка показує вологість, режим, стан насоса, поріг. Параметри (режим/поріг/пауза/Max ON) змінюються без перезавантаження сторінки; статус оновлюється запитом /status кожні 2 с.
  • Збереження налаштувань: поріг і таймінги зберігаються в NVS (Preferences) та відновлюються під час старту контролера.
  • Захист насоса: обмеження часу безперервної роботи (max_on_ms) та пауза між циклами (cooldown_ms) мінімізують ізнос і «смикання» реле.

Застосування та розширення проєкту

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

Висновок

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

Потрібен індивідуальний проєкт — розробка схеми, друкованої плати, прошивки та корпусу під ваші вимоги? Ми допоможемо. Створюємо надійні рішення на ESP32 і беремо на себе виготовлення плат та збирання. Перегляньте приклади в нашому портфоліо і напишіть нам — обговоримо задачу.

<< Проекти << Усі товари >> Статті, уроки >>

Написати відгук

Примітка: HTML размітка не підтримується! Використовуйте звичайтий текст.
    Погано           Добре
Світлодіодна матриця 8х8 з керуючим контролером MAX7219

Світлодіодна матриця 8х8 з керуючим контролером MAX7219

Готовий блок світлодіодної матриці 8х8 з підтримкою каскадного увімкнення декількох ідентичних модул..

87.37грн.

Arduino - що це таке?

Arduino - що це таке?

Arduino це недорога, доступна для покупки електронна плата з мікроконтролером та виводами входів-вих..

Силовий MOSFET транзистор IRF520 N-канальний

Силовий MOSFET транзистор IRF520 N-канальний

MOSFET транзистор 3-го поколінняВикористовується для швидкісної комутації потужних виконавчих механі..

28.43грн.

Arduino SIM800 вихідний дзвінок ATD

Arduino SIM800 вихідний дзвінок ATD

Привіт друзі! Це продовження серії відео про роботу з SIM800. Усіх їх можна знайти на цьому каналі. ..

Збільшуючий перетворювач напруги 0,9...5В у 5В

Збільшуючий перетворювач напруги 0,9...5В у 5В

Мініатюрний перетворювач напруги до 5ВВхідна напруга постійного струму 0,9 ... 5 ВНа виході USB-порт..

33.08грн.