Освой Arduino играючи
/* Моя кошка замечательно разбирается в программировании. Стоит мне объяснить проблему ей - и все становится ясно. */
John Robbins, Debugging Applications, Microsoft Press, 2000
Датчик влажности почвы предназначен для определения влажности земли, позволяя узнать о недостаточном или избыточном поливе растений (умный полив).
Модуль состоит из двух частей: контактного щупа YL-69 и датчика YL-38. Между двумя электродами щупа YL-69 создаётся небольшое напряжение. Если почва сухая, сопротивление велико и ток будет меньше. Если земля влажная — сопротивление меньше, ток — чуть больше. По итоговому аналоговому сигналу можно судить о степени влажности. Щуп YL-69 соединён с датчиком YL-38 по двум проводам. Датчик YL-38 имеет четыре контакта для подключения к микроконтроллеру.
Можно получать аналоговое и цифровое значение уровня влажности, используя соответствующие контакты.
YL-38 | Arduino
----------------
AO | AO
DO | DO
GND | GND
VCC | 5V
Датчик YL-38 построен на основе компаратора LM393, который выдаёт напряжение на выход D0 по принципу: влажная почва – низкий логический уровень, сухая почва – высокий логический уровень. Уровень определяется пороговым значением, которое можно регулировать с помощью потенциометра. Датчик YL-38 имеет два светодиода, сигнализирующих о наличии питания и уровня цифрового сигнала. Наличие цифрового вывода и светодиода позволяет использовать модуль автономно, без подключения к контроллеру.
Можно использовать напряжение от 3.3 до 5 В. Ток потребления 35 мА.
Скетч.
int analogPin = A0;
int analogValue = 0; // значения датчика
void setup()
{
Serial.begin(9600);
}
void loop()
{
analogValue = analogRead(analogPin); // считываем с аналогового вывода
Serial.print("Значение: "); Serial.println(analogValue);
delay(1000);
}
Как правило, в скетчах устанавливают две переменных о высоком и низком значении и сравнивают с ними, чтобы подать сигнал о необходимости полить или не поливать почву.
Купить на AliExpress