
Интернет-магазин «Неглупый Дом»
RCWL-0516 ловит движение по доплеровскому сдвигу микроволн — работает даже через тонкую дверь или гипсокартон, в отличие от PIR-датчиков. Модуль реле включает свет на заданное время.
RCWL-0516 излучает слабый СВЧ-сигнал на частоте около 3.2 ГГц и анализирует отражённый сигнал на эффект Доплера — любое движущееся тело в зоне обзора немного меняет частоту отражённой волны, и модуль это детектирует, выдавая HIGH на выходе. Так как радиоволны проходят через непроводящие материалы (дерево, гипсокартон, тонкое стекло), этот датчик продолжает «видеть» движение, даже если сам спрятан за дверью или внутри корпуса светильника — то, что недоступно PIR-датчикам, которым нужна прямая оптическая видимость.
Логика кода держит реле включённым определённое время (`onDuration`) после последнего зафиксированного движения, а не выключает свет мгновенно. Благодаря использованию `millis()` вместо `delay()`, каждое новое движение просто обновляет `lastTrigger` и сдвигает момент выключения дальше — свет гаснет только после периода полной тишины, а не рывками при каждом отдельном срабатывании.
Так как реализации данного модуля бывают разные, если у вас на плате нет тех контактов, что указаны ниже — сориентируйтесь по названиям контактов на своей плате.
// ВНИМАНИЕ: рекомендую отладить код через монитор порта, так как я языковая
// модель, а не специализированный кодер, и могу что-то упустить. Основу
// и идею я накидал, но проверьте под свою схему.
const int sensorPin = 2;
const int relayPin = 7;
const unsigned long onDuration = 30000; // держать свет после последнего движения, мс
unsigned long lastTrigger = 0;
void setup() {
Serial.begin(9600);
pinMode(sensorPin, INPUT);
pinMode(relayPin, OUTPUT);
}
void loop() {
if (digitalRead(sensorPin) == HIGH) {
lastTrigger = millis();
}
if (millis() - lastTrigger < onDuration) {
digitalWrite(relayPin, HIGH);
} else {
digitalWrite(relayPin, LOW);
}
}
Используется таймер на `millis()` вместо `delay()` — свет не гаснет резко, а продлевает время при каждом новом движении, пока датчик срабатывает.
Ещё модули для Arduino: Электронные модули.
🎁 Купить весь комплект со скидкой 10%
Все 2 товара сразу в корзину: 175 ₽ 158 ₽ (экономия 17 ₽)
Скидка применяется автоматически при оформлении заказа, если в корзине именно этот комплект.
Остались вопросы? Проконсультируйтесь с ИИ-инженером — он уже в курсе темы статьи и сразу ответит, ничего вводить не нужно.