Датчик влажности почвы
Датчик влажности почвы в комплекте с платой для настройки. Принцип работы датчика основан на изменении сопротивления на щупах, которые погружаются в почву. Датчик имеет аналоговый и цифровой выводы, что расширяет возможности подключения. Небольшие габариты и возможность настройки чувствительности датчика делают его очень удобным в применении для систем автоматического полива. Напряжение питания датчика 3.3 – 5 В.
Модуль датчика состоит из двух частей: контактного щупа и датчика, в комплекте идут провода для подключения.. Между двумя электродами щупа создаётся небольшое напряжение. Если почва сухая, сопротивление велико и ток будет меньше. Если земля влажная — сопротивление меньше, ток — чуть больше. По итоговому аналоговому сигналу можно судить о степени влажности. Щуп соединен с датчиком по двум проводам. Кроме контактов соединения с щупом, датчик имеет четыре контакта для подключения к контроллеру.
- Vcc – питание датчика;
- GND – земля;
- A0 — аналоговое значение;
- D0 – цифровое значение уровня влажности.
Датчик построен на основе компаратора, который выдает напряжение на выход D0 по принципу: влажная почва – низкий логический уровень, сухая почва – высокий логический уровень. Уровень определяется пороговым значением, которое можно регулировать с помощью потенциометра. На вывод A0 подается аналоговое значение, которое можно передавать в контроллер для дальнейшей обработки, анализа и принятия решений. Датчик YL-38 имеет два светодиода, сигнализирующих о наличие поступающего на датчик питания и уровня цифрового сигналы на выходе D0. Наличие цифрового вывода D0 и светодиода уровня D0 позволяет использовать модуль автономно, без подключения к контроллеру.
Схема подключения датчика влажности почвы

Код для подключения датчика влажности почвы
В данном примере показано, как считать код с датчика влажности почвы через Arduino и вывести информацию в последовательный порт (вывод будет виден в мониторе порта Arduino IDE).
#define SOILMOISTURE_SENSOR A0 // подключение к пину А0 void setup() { Serial.begin(9600); // вывод данных в монитор порта } void loop() { int sensorValue = analogRead(SOILMOISTURE_SENSOR); // считывание данных с аналогового порта А0 Serial.print("Analog value: "); // фраза, выводимая перед показаниями датчика Serial.println(sensorValue); // данные в монитор порта delay(1000); // задержка 1 секунда }
Скачать файл с кодом, формат .INO: Датчик влажности почвы