Парктроник: чем ближе, тем чаще
Зуммер пищит с паузой, которая зависит от расстояния до препятствия.

Что понадобится
Как подключить
| Откуда | Куда | |||
|---|---|---|---|---|
| Arduino Uno | 5V | → | HC-SR04 | VCC |
| Arduino Uno | GND | → | HC-SR04 | GND |
| Arduino Uno | D9 | → | HC-SR04 | TRIG |
| Arduino Uno | D10 | → | HC-SR04 | ECHO |
| Arduino Uno | D8 | → | Зуммер | 1 |
| Зуммер | 2 | → | Arduino Uno | GND |
Скетч
// Парктроник. Расстояние до препятствия задаётся двойным кликом по датчику.
const int TRIG = 9;
const int ECHO = 10;
const int BUZZER = 8;
long measureCm() {
digitalWrite(TRIG, LOW); delayMicroseconds(2);
digitalWrite(TRIG, HIGH); delayMicroseconds(10);
digitalWrite(TRIG, LOW);
return pulseIn(ECHO, HIGH) / 58;
}
void setup() {
pinMode(TRIG, OUTPUT);
pinMode(ECHO, INPUT);
pinMode(BUZZER, OUTPUT);
Serial.begin(9600);
}
void loop() {
long cm = measureCm();
Serial.print(cm); Serial.println(" см");
if (cm > 0 && cm < 100) {
tone(BUZZER, 900, 40);
long pause = map(cm, 5, 100, 60, 900); // ближе — чаще
delay(constrain(pause, 60, 900));
} else {
noTone(BUZZER);
delay(300);
}
}
Коротко о детали: HC-SR04
Ультразвуковой дальномер: измеряет расстояние по времени, за которое возвращается эхо. На TRIG подают импульс 10 мкс, а длительность импульса на ECHO пересчитывают в сантиметры. Расстояние до препятствия задаётся двойным кликом по компоненту.
Ещё примеры с деталью «HC-SR04»
Попробуйте сами
Симулятор работает прямо в браузере: схему можно менять, код — править, а результат видно сразу. Бесплатно, без установки и регистрации.
Открыть «Парктроник: чем ближе, тем чаще» в симуляторе