Датчик влажности почвы для Arduino: щуп YL-69 и модуль YL-38

Датчик влажности почвы для Arduino: щуп YL-69 и модуль YL-38

Как работает датчик влажности почвы из щупа YL-69 и платы YL-38, чем различаются выходы A0 и D0 и как сделать индикатор полива на восьми светодиодах.

Назначение

Датчик влажности почвы показывает, насколько влажная земля, в которую он воткнут. По его показаниям можно судить о недостатке или избытке полива комнатных и садовых растений, а в связке с контроллером — автоматизировать полив цветов, грядок или целой плантации.

Датчик влажности почвы: щуп YL-69 и модуль YL-38

Устройство: щуп и плата компаратора

Комплект состоит из двух частей — контактного щупа YL-69 и платы YL-38, соединённых двумя проводами; провода входят в набор. Между двумя электродами щупа подаётся небольшое напряжение. В сухой почве сопротивление велико и ток мал, во влажной сопротивление падает, а ток немного возрастает. Полученный аналоговый сигнал и отражает степень влажности.

Плата YL-38 построена на компараторе LM393 и имеет четыре контакта для подключения к контроллеру:

  • Vcc — питание;
  • GND — земля;
  • A0 — аналоговое значение влажности;
  • D0 — цифровой сигнал уровня влажности.

На выходе D0 компаратор выдаёт низкий логический уровень при влажной почве и высокий при сухой. Порог переключения настраивается потенциометром. Два светодиода на плате показывают наличие питания и состояние выхода D0. Благодаря цифровому выходу и его индикатору модуль способен работать и сам по себе, без контроллера.

Характеристики

Напряжение питания3,3–5 В
Ток потребления35 мА
Выходцифровой и аналоговый
Размер модуля16×30 мм
Размер щупа20×60 мм
Общий вес7,5 г

Проект: светодиодный индикатор влажности

Простой пример использования — шкала из восьми светодиодов, по которой издалека видно, пора ли поливать растение. Понадобятся плата Arduino Uno, датчик влажности почвы, 8 светодиодов, макетная плата и соединительные провода.

Схема индикатора влажности почвы на Arduino с восемью светодиодами

Аналоговый выход датчика подключён ко входу A0, светодиоды — к цифровым контактам с 4 по 11. Вход A0 — это 10-битный АЦП, так что показания лежат в диапазоне от 0 до 1023, причём более сухой почве соответствует большее число.

В скетче заданы две границы: значение при полном поливе (minvalue, в примере 220) и значение при критической сухости (maxvalue, в примере 600). Обе величины получают экспериментально для своей почвы и своего датчика. Раз в секунду программа считывает показание, выводит его в монитор последовательного порта и пересчитывает в номер светодиода функцией map: countled = map(avalue, maxvalue, minvalue, 0, 7). Затем зажигаются все светодиоды до этого номера включительно, остальные гаснут. Чем влажнее земля, тем больше горящих светодиодов.

Возможные неполадки

  • Не горит светодиод питания — проверить наличие и полярность питания 3,3–5 В на плате YL-38.
  • После полива не загорается индикатор влажности — подстроить потенциометром порог срабатывания и проверить соединение YL-38 со щупом YL-69.
  • Аналоговое значение не меняется при поливе — проверить соединение платы со щупом и убедиться, что щуп находится в земле.

← Все статьи