Ультразвуковой датчик HC-SR04: измерение расстояния на Arduino

Ультразвуковой датчик HC-SR04 измеряет расстояние до объектов от 2 см до 4 м в проектах Arduino, робототехнике и IoT. Подходит для обхода препятствий, парковочных систем, уровня жидкости. Простая эхолокация без библиотек.

Принцип: посылает ультразвук 40 кГц, ловит эхо. Точность ±3 мм, угол 15°.

Ультразвуковой датчик HC-SR04

Необходимые компоненты

  • Датчик HC-SR04
  • Arduino (Uno, Nano или другая)
  • Провода, макетная плата

Подключение

  • VCC: К 5V Arduino.
  • GND: К GND Arduino.
  • TRIG: К цифровому пину (например, 9).
  • ECHO: К цифровому пину (например, 10).

Как это работает

  1. Импульс 10 мкс на TRIG запускает 8 импульсов 40 кГц.
  2. ECHO выдаёт HIGH на время полёта эха.
  3. Расстояние = (длительность × 0.034) / 2 см.
  4. Избегайте мягких поверхностей.

Пример кода

// Измерение расстояния HC-SR04
const int trigPin = 9;
const int echoPin = 10;

void setup() {
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
  Serial.begin(9600);
}

void loop() {
  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);
  
  long duration = pulseIn(echoPin, HIGH);
  int distance = duration * 0.034 / 2;
  
  Serial.print("Расстояние: ");
  Serial.print(distance);
  Serial.println(" см");
  delay(500);
}
Генерирует короткий ультразвуковой импульс на trigPin.
Измеряет время возврата сигнала на echoPin с помощью pulseIn().
Вычисляет расстояние до препятствия в сантиметрах (distance = duration × 0.034 / 2).
Выводит результат в Serial Monitor каждые 0.5 секунды.

Разбор кода

trigPin/echoPin: Пиры TRIG/ECHO.
pulseIn: Измеряет длительность HIGH.
distance = duration * 0.034 / 2: Расчёт в см.
Serial.print: Вывод в монитор.

Преимущества

  • Диапазон 2–400 см.
  • Точность ±3 мм.
  • Низкое потребление ~15 мА.
  • Простой интерфейс 4 пина.
  • Компактные размеры ~45×20 мм.

Применение

  • Роботы с обходом препятствий.
  • Парковочные сенсоры.
  • Измерение уровня в баках.
  • Автоматизация дверей.

Заключение

HC-SR04 — надёжный и доступный ультразвуковой датчик для измерения расстояния в проектах Arduino. Он прост в подключении и расчётах. Добавьте в робота или систему мониторинга и получайте точные данные!

FAQ — Ультразвуковой датчик HC-SR04 для Arduino

Что такое ультразвуковой датчик HC-SR04?

HC-SR04 — это ультразвуковой датчик, который измеряет расстояние до объектов от 2 см до 4 м. Используется в Arduino-проектах, робототехнике, парковочных системах и измерении уровня жидкости.

Как работает HC-SR04?

Датчик посылает ультразвук частотой 40 кГц и измеряет время возвращения эха. Значение переводится в расстояние по формуле: (время × 0.034) / 2 см. Точность ~±3 мм, угол обзора около 15°.

Как подключить HC-SR04 к Arduino?

Подключение: VCC к 5V, GND к GND, TRIG к цифровому пину Arduino (например, 9), ECHO к другому цифровому пину (например, 10). Библиотеки не требуются — используется импульсный триггер и чтение сигнала ECHO.

Какие особенности и характеристики у HC-SR04?

Диапазон 2–400 см, точность ±3 мм, питание ~15 мА, компактный размер ~45×20 мм, четыре пина управления. Датчик не требует сложной настройки и подходит для большинства контроллеров Arduino.

Какие поверхности плохо измеряет HC-SR04?

Датчик плохо работает с мягкими и звукопоглощающими поверхностями. Для стабильных измерений не рекомендуется использовать ткань, поролон и другие материалы, которые не отражают ультразвук.

Где используется HC-SR04?

Датчик применяется в системах обхода препятствий у роботов, парковочных устройствах, измерении уровня жидкости в баках, автоматизации дверей и других IoT-проектах.

Вам также может понравиться: