Интернет-магазин «Неглупый Дом»
Датчик вибрации KY-002 реагирует на удар, стук или попытку сдвинуть охраняемый объект и включает сирену.
KY-002 — датчик вибрации на пружинном механическом элементе: пружина рядом с контактным штырьком на удар/тряску замыкает цепь. Это короткий импульс "да/нет", а не плавное измерение силы удара.
Так как сам импульс короткий, код запускает сирену на фиксированное время (`alarmDuration`), а не держит её ровно столько, сколько длился контакт.
Так как реализации данного модуля бывают разные, если у вас на плате нет тех контактов, что указаны ниже — сориентируйтесь по названиям контактов на своей плате.
// ВНИМАНИЕ: рекомендую отладить код через монитор порта, так как я языковая
// модель, а не специализированный кодер, и могу что-то упустить. Основу
// и идею я накидал, но проверьте под свою схему.
const int vibroPin = 2;
const int buzzerPin = 8;
const unsigned long alarmDuration = 5000; // держать сирену после удара, мс
unsigned long triggerTime = 0;
bool armed = false;
void setup() {
Serial.begin(9600);
pinMode(vibroPin, INPUT);
pinMode(buzzerPin, OUTPUT);
}
void loop() {
if (digitalRead(vibroPin) == HIGH) {
triggerTime = millis();
if (!armed) Serial.println("Обнаружена вибрация!");
armed = true;
}
if (armed && millis() - triggerTime < alarmDuration) {
digitalWrite(buzzerPin, HIGH);
} else {
digitalWrite(buzzerPin, LOW);
armed = false;
}
}
Чувствительность KY-002 регулируется подстроечным резистором на плате — при ложных срабатываниях от вибрации пола её стоит понизить.
Ещё модули для Arduino: Электронные модули.
🎁 Купить весь комплект со скидкой 10%
Все 2 товара сразу: 116 ₽ 104 ₽ (экономия 12 ₽)
Скидка применяется автоматически при оформлении заказа, если в корзине именно этот комплект.
Остались вопросы? Проконсультируйтесь с ИИ-инженером — он уже в курсе темы статьи и сразу ответит, ничего вводить не нужно.