Надежный DIY датчик влажности почвы для растений на Arduino UNO
Компоненты и материалы
- Arduino UNO — 1 шт.
- RGB-светодиод (общий анод) или 3 отдельных LED (красный, зеленый, синий) — 1 шт.
- Резисторы 220 Ом — 3 шт. (для LED)
- Резистор 10 кОм — 1 шт.
- Два болта с гайками (любого размера) — для сенсорных штырей
- Перемычки (длинные для штырей, короткие для платы) — набор
- Половинчатая макетная плата — 1 шт.
Принцип действия
Датчик измеряет диэлектрическую проницаемость почвы (способность проводить ток), которая коррелирует с влажностью. Два металлических штыря (болты) вставляются в грунт на расстоянии 2,5–3,5 см. Arduino измеряет аналоговое напряжение на делителе (штыри + резистор 10 кОм). Чем влажнее почва, тем ниже сопротивление, тем выше показания ADC.
Сборка штырей
- Накрутите гайку на болт, зажмите между гайкой и головкой конец длинной перемычки.
- Докрутите гайку до надежного контакта. Повторите для второго штыря.

Схема подключения
Штыри подключаются к пину A0 и GND через резистор 10 кОм (делитель). RGB LED: общий анод на 5 В, катоды через 220 Ом на пины D2 (зеленый), D3 (синий), D4 (красный).

Программный код
int moistPin = A0;
int moistVal = 0;
int tooDry = 150; // порог сухости (подстроить под свой грунт)
int tooWet = 400; // порог переувлажнения
void setup() {
Serial.begin(9600);
pinMode(2, OUTPUT); // Green
pinMode(3, OUTPUT); // Blue
pinMode(4, OUTPUT); // Red
}
void loop() {
moistVal = analogRead(moistPin);
Serial.println(moistVal);
// Эмпирическая формула перевода в % (для расстояния штырей ~2,5–3,5 см)
int percent = 2.718282 * 2.718282 * (0.008985 * moistVal + 0.207762);
Serial.print(percent);
Serial.println("% Moisture");
if (moistVal <= tooDry) { // Сухо — красный
digitalWrite(4, HIGH); digitalWrite(3, LOW); digitalWrite(2, LOW);
} else if (moistVal >= tooWet) { // Мокро — синий
digitalWrite(4, LOW); digitalWrite(3, HIGH); digitalWrite(2, LOW);
} else { // Норма — зеленый
digitalWrite(4, LOW); digitalWrite(3, LOW); digitalWrite(2, HIGH);
}
delay(250);
}
Калибровка и использование
- Вставьте штыри в горшок рядом с растением на глубину 2–3 см, расстояние между ними 2,5–3,5 см.
- Хорошо полейте растение, откройте Serial Monitor (9600 бод).
- Показания должны быть ~25–30%. Если нет — сдвиньте штыри или скорректируйте пороги
tooDry/tooWetв коде. - Для уличной установки поместите электронику в герметичный контейнер, выведите штыри через отверстия, добавьте батарейный блок.
Производственный процесс
- Построение низкобюджетного датчика влажности почвы на Raspberry Pi для умного полива
- Умный датчик полива «Thirst Alert» на Arduino — DIY сигнализация засухи для растений
- Создание осциллографа на Arduino Nano с дисплеем Nokia 5110 (20 кГц): простое DIY-руководство
- Итальянские словесные часы на Arduino Nano, NeoPixel, LCD и RTC
- Умная система автополива растений на Arduino Nano
- Прототип цветового сенсора на Arduino — определение и отображение названий цветов
- Надежный счетчик кВт·ч на Sigfox с Arduino MKR Fox 1200
- Bluetooth-монитор температуры на Arduino Nano с NTC-термистором
- DIY Автоматический измеритель емкости (10 пФ – 10 мкФ) на Arduino Nano
- Точный тест времени реакции на Arduino UNO