FC-28 Arduino — это датчик для определения содержания влаги в почве, который часто используется в системах автоматического орошения сельскохозяйственных культур. Модуль состоит из щупа с двумя открытыми электродами и электронного модуля на основе компаратора LM393 с цифровым и аналоговым выходами. Рассмотрим оптимальное подключение модуля датчика влажности почвы FC-28 или YL-69 к Arduino Uno.
СОДЕРЖАНИЕ
Необходимые компоненты:
- Arduino Uno / Arduino Nano / Arduino Mega
- soil moisture sensor FC-28
- светодиоды и резисторы
- макетная плата
- коннекторы
Дополнительные материалы на эту тему:
Зонд датчика (щуп) действует как переменный резистор, сопротивление которого изменяется в зависимости от содержания воды в почве. Чем больше влаги в почве, тем ниже сопротивление, и наоборот, чем меньше влаги содержится в земле, тем выше становится сопротивление. Далее, в зависимости от сопротивления окружающей среды, датчик влажности почвы FC-28 выдает аналоговое напряжение на выходе A0.
Датчик FC-28 Arduino распиновка, характеристики

Характеристики датчика FC-28 Arduino (datasheet)
- Источник питания: 3,3 — 5В
- Потребляемый ток: 35 мА
- Выход: цифровой и аналоговый
- Размер модуля: 16 × 30 мм
- Размер зонда: 20 × 60 мм
Щуп датчика соединяется двумя проводами с компаратором LM393. Для регулировки чувствительности датчика используется потенциометр, который позволяет установить минимальное значение содержания влаги в почве, при котором датчик будет выдавать низкий логический уровень (LOW) на цифровом выходе D0. Пока минимальное значение не достигнуто, цифровой выход модуля будет выдавать высокий уровень (HIGH).
Подключение датчика влажности почвы к Ардуино

В первом примере подключите датчик влажности почвы к Ардуино через аналоговый выход, поскольку аналоговый сигнал позволяет более точно отслеживать даже самые незначительные изменения влажности почвы. Для этого подключите питание модуля — GND и 5 Вольт (см. схему подключения выше), а вывод A0 соедините с портом A1 микроконтроллера. После загрузки этого скетча откройте монитор порта Arduino IDE.
Скетч для измерения влажности почвы с Ардуино
#define FC A1 // порт подключения сенсора
#define LED 13 // порт подключения светодиода
int minsoil = 300; // минимальное значение влажности
int soil;
void setup(){
Serial.begin(9600);
pinMode(FC, INPUT);
pinMode(LED, OUTPUT);
}
void loop(){
soil = analogRead(FC);
Serial.print("fc28 = ");
Serial.println(soil); // выводим значение с датчика на монитор
if (soil > minsoil) { digitalWrite(LED, LOW); }
if (soil < minsoil) { digitalWrite(LED, HIGH); }
delay(1000);
}
Как подключить цифровой датчик FC-28 к Ардуино

При калибровке аналогового датчика влажности почвы установите пороговое значение в программе, при котором будет активирован автоматический полив. Цифровой сигнал датчика калибруется аппаратно с помощью переменного резистора — поворот встроенного потенциометра по часовой стрелке — увеличивает чувствительность датчика. Загрузите следующую программу в микроконтроллер и отрегулируйте потенциометр на модуле.
Скетч для цифрового датчика влажности почвы
#define FC 2 // порт подключения сенсора
#define LED 12 // порт подключения светодиода
void setup(){
Serial.begin(9600);
pinMode(FC, INPUT);
pinMode(LED, OUTPUT);
}
void loop(){
Serial.print("fc28 = ");
Serial.println(digitalRead(FC));
if (digitalRead(FC) == LOW) { digitalWrite(LED, LOW); }
if (digitalRead(FC) == HIGH) { digitalWrite(LED, HIGH); }
delay(1000);
}
Заключение. Датчики FC-28 и YL-69 Arduino (Soil Moisture Sensor) имеют простую конструкцию и легко подключаются. Но у модулей есть большой недостаток: срок службы датчика во влажной среде невелик из-за коррозии. Выходом из этой затруднительной ситуации является использование самодельного датчика влажности почвы, в котором при необходимости можно очень быстро и дешево заменить металлические щупы (электроды).

Мне кажется цифровой выход датчика это D0, а у вас всё через A0 зафигачено….
специально народ в заблуждение вводите?