Парктроник: чем ближе, тем чаще

Зуммер пищит с паузой, которая зависит от расстояния до препятствия.

Средний уровень Arduino Uno C++
Схема подключения: Парктроник: чем ближе, тем чаще
Схема в симуляторе. Нажмите «Открыть в симуляторе», чтобы запустить её и поменять.

Что понадобится

Как подключить

ОткудаКуда
Arduino Uno5V→HC-SR04VCC
Arduino UnoGND→HC-SR04GND
Arduino UnoD9→HC-SR04TRIG
Arduino UnoD10→HC-SR04ECHO
Arduino UnoD8→Зуммер1
Зуммер2→Arduino UnoGND

Скетч

// Парктроник. Расстояние до препятствия задаётся двойным кликом по датчику.
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»

Попробуйте сами

Симулятор работает прямо в браузере: схему можно менять, код — править, а результат видно сразу. Бесплатно, без установки и регистрации.

Открыть «Парктроник: чем ближе, тем чаще» в симуляторе