Автоматический полив по влажности почвы — 2 зоны, веб-интерфейс, защита от сухого хода
Контроллер измеряет влажность почвы в двух зонах сада и температуру/влажность воздуха. Если почва пересохла ниже порога и наступило вечернее окно полива (18:00–22:00), открывается электромагнитный клапан на заданное время. Поплавковый датчик защищает насос от сухого хода. Управление — через встроенный веб-интерфейс, прошивка обновляется по OTA.
| Компонент | Кол-во | Роль |
|---|---|---|
| WeMos D1 Mini Pro V3.0 | 1 | Контроллер, Wi-Fi, веб-интерфейс |
| Ёмкостный датчик влажности почвы | 2 | Влажность в зонах A и B |
| DHT11 | 1 | Температура/влажность воздуха |
| Реле-модуль 5V ×2 канала | 1 | Коммутация клапанов |
| Электромагнитный клапан 12V (1/2") | 2 | Подача воды в зоны |
| Поплавковый датчик уровня | 1 | Защита от сухого хода |
| БП 12V + DC-DC понижающий | 1 | Питание клапанов и логики |
WeMos D1 Mini Pro Компонент ────────────────────────────────────────────── A0 ◄─────────────── Датчик влажности A (AO) D4 ◄─────────────── DHT11 (DATA) + подтяжка 10k D5 ◄─────────────── Поплавковый датчик → GND D1 ───────────────► IN1 реле (клапан зоны 1) D2 ───────────────► IN2 реле (клапан зоны 2) 5V ◄── DC-DC ◄──── БП 12V Силовая часть: БП 12V ── клапан ── COM/NO реле ── обратно на БП
/update.// Ядро логики
void autoControl() {
if (!waterAvailable()) { // сухой ход — всё закрыть
for (int i = 0; i < 2; i++) setValve(i, false);
return;
}
if (!inWateringWindow()) return; // только 18:00–22:00
if (soilA < soilThresholdA) setValve(0, true);
if (soilB < soilThresholdB) setValve(1, true);
}