Код для поиска

ESP32 Урок 24/55 - Измерение влажности почвы для орошения | Обучающий набор SunFounder ESP32 IoT

ESP32 Урок 24/55 - Измерение влажности почвы для орошения | Обучающий набор SunFounder ESP32 IoT

В этом руководстве мы узнаем, как использовать SunFounder ESP32 вместе с датчиком влажности почвы для измерения уровня влажности в грунте, что может помочь в автоматизации систем полива. Отслеживая уровень влажности, мы можем активировать зуммер, когда влажность падает ниже определённого порога, сигнализируя о том, что растения нуждаются в поливе. Этот проект важен для поддержания здоровья растений и может быть расширен для различных приложений экологического мониторинга (на видео в 00:00).

soil_mositure_module

Мы будем использовать ёмкостный датчик влажности почвы, который работает, измеряя изменение ёмкости между двумя пластинами, зависящее от содержания влаги в окружающей среде. Этот датчик будет выдавать аналоговый сигнал, отражающий уровень влажности, что позволит нам принимать решения на основе показаний. ESP32 будет считывать аналоговый выход и активировать зуммер, если почва слишком сухая.

Объяснение аппаратного обеспечения

Для этого проекта основными компонентами являются микроконтроллер SunFounder ESP32, ёмкостный датчик влажности почвы и зуммер. ESP32 оснащён встроенными Wi-Fi и Bluetooth, что обеспечивает удалённый мониторинг и управление. Датчик влажности почвы состоит из двух пластин, которые измеряют ёмкость, изменяющуюся в зависимости от уровня влажности в почве. Это изменение ёмкости изменяет выходное напряжение, которое ESP32 считывает через свой аналоговый вход. Зуммер предупредит нас, когда уровень влажности упадёт ниже заданного порога.

soil_mositure_module_schematic

Данные из технического описания

Производитель SunFounder
Номер детали Датчик влажности почвы
Рабочее напряжение 3,3–5 В
Тип выхода Аналоговый
Диапазон сигнала 0–3,3 В
Время отклика Быстрое
Размеры Прибл. 60 x 20 мм
Примечания / варианты Датчик ёмкостного типа

 

  • Убедитесь, что датчик не полностью погружён в воду, чтобы предотвратить повреждение.
  • При необходимости используйте подходящие подтягивающие резисторы для стабильных показаний.
  • Откалибруйте датчик для вашего конкретного типа почвы для точных измерений влажности.
  • Поддерживайте правильные соединения проводов, чтобы избежать потери сигнала.
  • Будьте осторожны с источником питания, чтобы избежать ситуаций с перенапряжением.

Инструкции по подключению

ESP32-24-soild-moisture-wiring

Чтобы подключить датчик влажности почвы к ESP32, соедините контакт VCC датчика с контактом 3,3 В на ESP32. Затем подключите контакт GND датчика к контакту GND на ESP32. Аналоговый выходной контакт датчика влажности почвы следует подключить к аналоговому контакту 35 на ESP32. Для зуммера подключите положительный контакт к цифровому контакту 13 на ESP32, а отрицательный контакт — к GND. Убедитесь, что все соединения надёжны, чтобы избежать периодических проблем во время работы.

Примеры кода и пояснения

Ниже приведён краткий фрагмент кода, который инициализирует последовательную связь и считывает значение датчика влажности:

void setup() {
  // Инициализация последовательной связи со скоростью 115200 бит в секунду:
  Serial.begin(115200);
}

Этот фрагмент настраивает последовательную связь, позволяя нам просматривать показания датчика влажности в мониторе последовательного порта.

Далее у нас есть основной цикл, в котором считывается аналоговое значение с датчика:

void loop() {
  // Чтение аналогового значения
  int analogValue = analogRead(35);
  
  // Вывод значений
  Serial.printf("Analog value = %d\n",analogValue);
  
  delay(300);  // задержка между чтениями для чёткого отображения в мониторе последовательного порта
}

В этом цикле код непрерывно считывает аналоговое значение с контакта 35 и выводит его в монитор последовательного порта каждые 300 миллисекунд. Это позволяет нам отслеживать уровень влажности в реальном времени.

Демонстрация / Что ожидать

Когда датчик влажности помещён в сухую почву, аналоговое значение будет выше, что указывает на низкую влажность. И наоборот, когда датчик вставлен во влажную почву, значение значительно упадёт. Если показание упадёт ниже заданного порога (например, 2000), зуммер, подключённый к контакту 13, активируется, сигнализируя о том, что растение нуждается в поливе. Будьте осторожны с плавающими входами и убедитесь, что датчик не подвергается воздействию воды сверх рекомендуемых пределов (на видео в 02:30).

Временные метки видео

  • 00:00 Начало
  • 1:51 Введение в проект
  • 5:53 Объяснение подключения
  • 7:23 Объяснение кода Arduino
  • 9:09 Выбор платы ESP32 и COM-порта в Arduino IDE
  • 10:47 Демонстрация проекта на цветочном горшке
  • 14:30 Включение зуммера, когда горшок сухой

Изображения

ESP32-24-soild-moisture-wiring
ESP32-24-soild-moisture-wiring
ESP32-24-soild-moisture-schematic
ESP32-24-soild-moisture-schematic
soil_mositure_module
soil_mositure_module
soil_mositure_module_schematic
soil_mositure_module_schematic
823-ESP32 Tutorial 24/55- Arduino code for soil moisture measurement
Язык: C++
void setup() {
 // Инициализируйте последовательную связь на скорости 115200 бит в секунду:
  Serial.begin(115200);
}

void loop() {
 // Считайте аналоговое значение
  int analogValue = analogRead(35);

 // Выведите значения на печать.
  Serial.printf("Analog value = %d\n",analogValue);

  delay(300); // задержка между считываниями для четкого считывания из последовательного монитора
}

Ресурсы и ссылки

Файлы📁

Нет доступных файлов.