Подключение датчика влажности почвы к ESP32

Аналоговый датчик влажности

Датчик влажности почвы к ESP32 — питание 3,3 В, земля и AO на вход АЦП. Цифровой DO нужен, если порог проще настроить подстроечником, чем кодом.

Схема подключения датчика влажности почвы к ESP32

Датчик влажности почвыESP32
AOGPIO34
VCC3V3
GNDGND

Схема из примера «Датчик влажности почвы: когда пора поливать».

Датчик влажности почвы: когда пора поливать

Открыть пример целиком

Выводы Датчик влажности почвы

ВыводНазначение
AOаналоговый выход: ниже напряжение — влажнее
DOцифровой выход компаратора, порог задаёт подстроечник
VCCпитание модуля
GNDобщий провод

Код для ESP32

// Датчик влажности почвы: из сырых отсчётов — в проценты.
//
// У модуля с компаратором LM393 напряжение на AO тем ниже, чем влажнее
// почва. Два числа ниже — это замеры вашего экземпляра: в сухом воздухе
// и в стакане с водой. У каждого датчика они свои, поэтому их снимают
// сами, а не берут из примера.

const int SOIL = 34;
const int LED = 2;

const int RAW_DRY = 4095;   // в воздухе
const int RAW_WET = 0;      // в воде

const int WATER_BELOW = 30; // ниже этого процента пора поливать

void setup() {
  Serial.begin(115200);
  pinMode(LED, OUTPUT);
}

void loop() {
  int raw = analogRead(SOIL);
  int percent = map(raw, RAW_DRY, RAW_WET, 0, 100);
  percent = constrain(percent, 0, 100);

  digitalWrite(LED, percent < WATER_BELOW);

  Serial.printf("сырое значение: %d, влажность: %d %%%s\n",
                raw, percent, percent < WATER_BELOW ? " — пора поливать" : "");
  delay(500);
}

Скетч можно править и запускать в симуляторе без платы и установки среды.

Что учесть на ESP32

В железе

Электроды резистивного щупа разрушаются от постоянного тока: дорожки покрываются коррозией за недели. Питайте модуль с цифрового вывода и включайте его только на время замера. Погружать щуп можно только до границы дорожек: плата с электроникой должна оставаться сухой. Ёмкостные датчики (с пометкой capacitive) не корродируют, но обычно имеют только аналоговый выход.

Частые ошибки при подключении к ESP32

Другие детали для ESP32