
Интернет-магазин «Неглупый Дом»
Сирена включается только тогда, когда одновременно сработали и PIR-датчик HC-SR505, и микроволновый RCWL-0516 — такая логика «И» резко снижает число ложных срабатываний от сквозняка или солнечного блика, характерных для датчиков по отдельности.
PIR-датчик HC-SR505 и микроволновый RCWL-0516 детектируют движение совершенно разными физическими способами: первый улавливает изменение инфракрасного излучения от тёплого объекта, второй — излучает слабый СВЧ-сигнал (около 3.2 ГГц) и анализирует эффект Доплера в отражённом сигнале, то есть реагирует на любое движущееся тело независимо от его температуры. У каждого способа свои слабые места: PIR может ложно сработать от сквозняка тёплого воздуха, СВЧ — проникает через тонкие стены и стёкла и может поймать движение за пределами нужной зоны.
Логика «И» (`pir && microwave`) требует одновременного подтверждения от обоих датчиков, прежде чем включить сирену. Так как у двух разных технологий разные источники ложных срабатываний, вероятность, что они совпадут одновременно случайно, намного ниже, чем у любого датчика по отдельности — именно этот принцип лежит в основе дорогих промышленных «двухтехнологичных» охранных извещателей.
Так как реализации данного модуля бывают разные, если у вас на плате нет тех контактов, что указаны ниже — сориентируйтесь по названиям контактов на своей плате.
// ВНИМАНИЕ: рекомендую отладить код через монитор порта, так как я языковая
// модель, а не специализированный кодер, и могу что-то упустить. Основу
// и идею я накидал, но проверьте под свою схему.
const int pirPin = 2;
const int microwavePin = 3;
const int buzzerPin = 8;
void setup() {
Serial.begin(9600);
pinMode(pirPin, INPUT);
pinMode(microwavePin, INPUT);
pinMode(buzzerPin, OUTPUT);
}
void loop() {
bool pir = digitalRead(pirPin) == HIGH;
bool microwave = digitalRead(microwavePin) == HIGH;
if (pir || microwave) {
Serial.print("PIR: ");
Serial.print(pir);
Serial.print(", СВЧ: ");
Serial.println(microwave);
}
digitalWrite(buzzerPin, (pir && microwave) ? HIGH : LOW);
delay(50);
}
Такой же принцип двойного подтверждения используют промышленные охранные извещатели — совпадение по двум разным физическим принципам гораздо надёжнее, чем один чувствительный датчик.
Ещё модули для Arduino: Электронные модули.
🎁 Купить весь комплект со скидкой 10%
Все 2 товара сразу в корзину: 168 ₽ 151 ₽ (экономия 17 ₽)
Скидка применяется автоматически при оформлении заказа, если в корзине именно этот комплект.
Остались вопросы? Проконсультируйтесь с ИИ-инженером — он уже в курсе темы статьи и сразу ответит, ничего вводить не нужно.