
Интернет-магазин «Неглупый Дом»
Кнопка KY-004 при нажатии одновременно включает громкий зуммер и модуль реле для мигающего маяка — сигнал держится заданное время, даже если кнопку сразу отпустить.
const int buttonPin = 2;
const int buzzerPin = 8;
const int relayPin = 7;
const unsigned long alarmDuration = 30000;
bool alarmActive = false;
unsigned long alarmStart = 0;
void setup() {
pinMode(buttonPin, INPUT);
pinMode(buzzerPin, OUTPUT);
pinMode(relayPin, OUTPUT);
}
void loop() {
if (digitalRead(buttonPin) == HIGH && !alarmActive) {
alarmActive = true;
alarmStart = millis();
}
if (alarmActive) {
if (millis() - alarmStart < alarmDuration) {
digitalWrite(buzzerPin, HIGH);
digitalWrite(relayPin, (millis() / 300) % 2); // маяк мигает
} else {
digitalWrite(buzzerPin, LOW);
digitalWrite(relayPin, LOW);
alarmActive = false;
}
}
}
Тревога держится ровно `alarmDuration` миллисекунд с момента нажатия и не реагирует на повторные нажатия, пока не истечёт время — сброс возможен только по таймеру или перезагрузкой платы.
Ещё модули для Arduino: Электронные модули.
🎁 Купить весь комплект со скидкой 10%
Все 2 товара сразу в корзину: 156 ₽ 140 ₽ (экономия 16 ₽)
Скидка применяется автоматически при оформлении заказа, если в корзине именно этот комплект.
Остались вопросы? Проконсультируйтесь с ИИ-инженером — он уже в курсе темы статьи и сразу ответит, ничего вводить не нужно.