
Интернет-магазин «Неглупый Дом»
VEML7700 и YL-69 вместе принимают более осмысленное решение о поливе, чем один датчик влажности: полив включается только днём и только если почва действительно сухая — ночью корни не поливаются без надобности.
VEML7700 — это цифровой датчик освещённости, измеряющий реальную освещённость в люксах (единица, привычная по характеристикам ламп и мониторов), а не просто относительный уровень света, как у простых фоторезисторов. Это позволяет задать осмысленный порог: 100 люкс — это примерно уровень сумерек или хорошо освещённой комнаты, достаточно низкий порог, чтобы отличить "день" от "ночь", но не настолько высокий, чтобы требовать прямого солнца.
Логика "два условия одновременно" (`daytime && dry`) решает конкретную агрономическую проблему: полив почвы в тёмное время суток повышает риск грибковых заболеваний, потому что влага на листьях и в прикорневой зоне не успевает высохнуть за ночь. Проверяя оба условия, устройство поливает только тогда, когда днём почва действительно сухая — а не просто по таймеру или по одному показателю.
Так как реализации данного модуля бывают разные, если у вас на плате нет тех контактов, что указаны ниже — сориентируйтесь по названиям контактов на своей плате.
// ВНИМАНИЕ: рекомендую отладить код через монитор порта, я языковая
// модель, а не специализированный кодер, могу что-то упустить.
#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: Электронные модули.
🎁 Купить весь комплект со скидкой 10%
Все 2 товара сразу в корзину: 452 ₽ 407 ₽ (экономия 45 ₽)
Скидка применяется автоматически при оформлении заказа, если в корзине именно этот комплект.
Остались вопросы? Проконсультируйтесь с ИИ-инженером — он уже в курсе темы статьи и сразу ответит, ничего вводить не нужно.