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

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


🌻 Проект: умный полив по свету и влажности почвы

Датчик VEML7700 и датчик YL-69

VEML7700 и YL-69 вместе принимают более осмысленное решение о поливе, чем один датчик влажности: полив включается только днём и только если почва действительно сухая — ночью корни не поливаются без надобности.

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

VEML7700 — это цифровой датчик освещённости, измеряющий реальную освещённость в люксах (единица, привычная по характеристикам ламп и мониторов), а не просто относительный уровень света, как у простых фоторезисторов. Это позволяет задать осмысленный порог: 100 люкс — это примерно уровень сумерек или хорошо освещённой комнаты, достаточно низкий порог, чтобы отличить "день" от "ночь", но не настолько высокий, чтобы требовать прямого солнца.

Логика "два условия одновременно" (`daytime && dry`) решает конкретную агрономическую проблему: полив почвы в тёмное время суток повышает риск грибковых заболеваний, потому что влага на листьях и в прикорневой зоне не успевает высохнуть за ночь. Проверяя оба условия, устройство поливает только тогда, когда днём почва действительно сухая — а не просто по таймеру или по одному показателю.

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

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

  1. VEML7700 (I2C): SDA → A4, SCL → A5, VCC → 3.3-5V (зависит от модуля), GND → GND.
  2. YL-69: AO → A0, VCC → 5V, GND → GND; зонд датчика втыкается непосредственно в почву около корней.
  3. Модуль реле KY-019 (насос): сигнал → D7, силовая часть насоса — через отдельное питание, рассчитанное на его ток.
  4. Логика "выше показание = суше почва" зависит от конкретной платы-компаратора датчика YL-69 — проверьте через Serial-монитор на вашем экземпляре и при необходимости инвертируйте сравнение `soil > dryThreshold`.

Скетч

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

#include <Wire.h>
#include <Adafruit_VEML7700.h>

Adafruit_VEML7700 veml;
const int soilPin = A0;
const int relayPin = 7;
const float luxThreshold = 100.0;
const int dryThreshold = 600;

void setup() {
  Serial.begin(9600);
  veml.begin();
  pinMode(relayPin, OUTPUT);
}

void loop() {
  float lux = veml.readLux();
  int soil = analogRead(soilPin);
  bool daytime = (lux > luxThreshold);
  bool dry = (soil > dryThreshold);

  Serial.print("Освещённость: ");
  Serial.print(lux);
  Serial.print(" лк, влажность почвы (сырое значение): ");
  Serial.println(soil);

  if (daytime && dry) {
    digitalWrite(relayPin, HIGH);
    delay(3000);
    digitalWrite(relayPin, LOW);
  }
  delay(600000UL); // проверка раз в 10 минут
}

Условие `daytime && dry` требует совпадения сразу двух факторов — так полив не запустится ночью даже при пересохшей почве, что снижает риск грибка на листьях от ночной влаги.

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

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

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

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

← 🔥 плавный обогрев террариума через MOSFET FR…🌡️ сравнение температуры внутри и снаружи на … →

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

Все 2 товара сразу в корзину: 452 ₽ 407 ₽ (экономия 45 ₽)

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

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

Корзина


Поиск



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