🛒
0 товаров
0 руб.

Интернет-магазин «Неглупый Дом»


🌱 Проект: автополив по датчику влажности почвы YL-69

Схема автополива на датчике YL-69, реле и насосе

Датчик YL-69 измеряет влажность почвы по проводимости между электродами, а Arduino включает реле насоса, когда земля пересыхает — простая автоматика без постоянного участия человека.

Как это работает

YL-69 — это просто два металлических электрода-щупа, которые втыкаются в землю. Между ними измеряется электрическое сопротивление почвы: влажная земля хорошо проводит ток (сопротивление ниже), сухая — плохо (сопротивление выше). Плата-компаратор, которая обычно идёт в комплекте с щупом, преобразует это сопротивление в аналоговое напряжение на выходе AO — чем суше почва, тем выше значение, которое считывает Arduino через `analogRead()`.

Модуль реле в этой связке работает как электронный выключатель: слаботочный сигнал с Arduino (5В, миллиамперы) переключает контакты реле, которые уже коммутируют цепь питания насоса — насос запитан от ОТДЕЛЬНОГО источника (например, блока питания 12В), Arduino им напрямую не управляет, только даёт команду через реле.

Пошаговая сборка

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

  1. Воткните щуп YL-69 в землю рядом с корнями растения, но не слишком глубоко, чтобы не повредить корневую систему.
  2. Подключите плату компаратора: AO (аналоговый выход) → A0 Arduino, VCC → 5V, GND → GND.
  3. Подключите модуль реле: сигнальный пин → D7, VCC → 5V, GND → GND.
  4. Контакты реле (COM и NO) включите в разрыв цепи питания насоса — насос и его источник питания к Arduino напрямую не подключаются.
  5. Перед первым запуском обязательно погружайте насос в воду — сухой ход большинства мини-помп быстро выводит их из строя.

Скетч

// ВНИМАНИЕ: рекомендую отладить код через монитор порта, так как я языковая
// модель, а не специализированный кодер, и могу что-то упустить.

const int soilPin = A0;             // аналоговый выход датчика влажности почвы
const int relayPin = 7;             // сигнальный пин модуля реле
const int dryThreshold = 600;       // порог "сухо" — подберите под свою почву опытным путём
const unsigned long wateringTime = 3000;   // сколько миллисекунд льём воду за один полив
const unsigned long checkInterval = 60000; // как часто проверяем влажность (мс)

void setup() {
  pinMode(relayPin, OUTPUT);
  digitalWrite(relayPin, LOW);      // реле выключено при старте
  Serial.begin(9600);
}

void loop() {
  int value = analogRead(soilPin);  // считываем текущее значение влажности
  Serial.print("Влажность (сырое значение): ");
  Serial.println(value);

  if (value > dryThreshold) {       // чем суше почва, тем выше значение на этом датчике
    Serial.println("Почва сухая, включаю полив");
    digitalWrite(relayPin, HIGH);   // включаем насос через реле
    delay(wateringTime);
    digitalWrite(relayPin, LOW);    // выключаем насос
  }

  delay(checkInterval);             // ждём перед следующей проверкой
}

Порог `dryThreshold` подбирается под конкретную почву — воткните датчик в сухую и во влажную землю и посмотрите значения через Serial-монитор (Инструменты → Монитор порта в Arduino IDE).

Частые проблемы

Как улучшить проект

Товары по теме

Ещё модули для Arduino: Электронные модули.

← ⏰ часы-будильник на DS1302, TM1637 и зуммере💡 люксметр на BH1750 с выводом на LCD1602 →

🎁 Купить весь комплект со скидкой 10%

Все 2 товара сразу в корзину: 233 ₽ 210 ₽ (экономия 23 ₽)

Скидка применяется автоматически при оформлении заказа, если в корзине именно этот комплект.

Остались вопросы? Проконсультируйтесь с ИИ-инженером — он уже в курсе темы статьи и сразу ответит, ничего вводить не нужно.

Корзина


Поиск



Пример: понижающий или DC-DC или mini360 или aw-023 или арт. OZ/WB/YA