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

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


💡 Проект: автовключение фитосвета по датчику освещённости VEML7700

Датчик VEML7700 и модуль реле

VEML7700 точно измеряет освещённость в люксах — как только естественного света становится мало, Arduino включает фитолампу через реле, поддерживая нужный световой день для растений.

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

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

Логика работы простая — пороговая автоматика: пока датчик видит достаточно света (естественного или уже от фитолампы), реле выключено, лампа не горит. Как только освещённость падает ниже заданного порога (вечером, в пасмурную погоду или зимой при коротком световом дне), реле включает фитолампу, продлевая световой день для растений до нужной продолжительности.

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

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

  1. Подключите VEML7700 по шине I2C: SDA → A4, SCL → A5, VCC → 3.3-5V, GND → GND.
  2. Подключите модуль реле KY-019 (фитолампа): сигнал → D7, VCC → 5V, GND → GND.
  3. Установите библиотеку Adafruit VEML7700 через Менеджер библиотек в Arduino IDE перед прошивкой.
  4. Фитолампу подключайте к контактам реле через её собственный источник питания — реле Arduino не питает лампу напрямую, оно только замыкает/размыкает цепь.
  5. Расположите датчик так, чтобы на него не падал свет от самой фитолампы — иначе система будет видеть свою же лампу как "достаточно светло" и сразу выключаться.

Скетч

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

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

Adafruit_VEML7700 veml;
const int relayPin = 7;           // реле фитолампы
const float luxThreshold = 200.0; // порог освещённости, люкс

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

void loop() {
  float lux = veml.readLux();

  digitalWrite(relayPin, (lux < luxThreshold) ? HIGH : LOW);

  Serial.print("Освещённость: ");
  Serial.print(lux);
  Serial.println(" люкс");

  delay(60000); // проверка раз в минуту — освещённость не меняется резко
}

Порог `luxThreshold` зависит от требований конкретного растения — для рассады обычно достаточно 150-300 люкс дополнительного света.

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

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

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

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

← 💧 сигнализация влажности с выводом на LCD160…🌀 плавная регулировка скорости вентилятора п… →

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

Все 2 товара сразу в корзину: 415 ₽ 374 ₽ (экономия 41 ₽)

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

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

Корзина


Поиск



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