
Интернет-магазин «Неглупый Дом»
HC-SR04 постоянно измеряет расстояние до противоположной стены или косяка двери. Как только между датчиком и стеной появляется препятствие ближе установленного порога — включается сирена.
const int trigPin = 9;
const int echoPin = 10;
const int buzzerPin = 8;
const int thresholdCm = 80; // расстояние до стены при пустом проходе
long getDistanceCm() {
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
long duration = pulseIn(echoPin, HIGH);
return duration / 58;
}
void setup() {
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(buzzerPin, OUTPUT);
}
void loop() {
long distance = getDistanceCm();
if (distance > 0 && distance < thresholdCm) {
tone(buzzerPin, 1500);
} else {
noTone(buzzerPin);
}
delay(100);
}
Порог `thresholdCm` нужно откалибровать под конкретный проём — измерьте штатное расстояние до стены через Serial-монитор и возьмите значение чуть меньше него.
Ещё модули для Arduino: Электронные модули.
🎁 Купить весь комплект со скидкой 10%
Все 2 товара сразу в корзину: 195 ₽ 176 ₽ (экономия 19 ₽)
Скидка применяется автоматически при оформлении заказа, если в корзине именно этот комплект.
Остались вопросы? Проконсультируйтесь с ИИ-инженером — он уже в курсе темы статьи и сразу ответит, ничего вводить не нужно.