Ультразвуковой датчик HC-SR04: измерение расстояния на Arduino
Ультразвуковой датчик HC-SR04 измеряет расстояние до объектов от 2 см до 4 м в проектах Arduino, робототехнике и IoT. Подходит для обхода препятствий, парковочных систем, уровня жидкости. Простая эхолокация без библиотек.
Принцип: посылает ультразвук 40 кГц, ловит эхо. Точность ±3 мм, угол 15°.
Необходимые компоненты
- Датчик HC-SR04
- Arduino (Uno, Nano или другая)
- Провода, макетная плата
Подключение
- VCC: К 5V Arduino.
- GND: К GND Arduino.
- TRIG: К цифровому пину (например, 9).
- ECHO: К цифровому пину (например, 10).
Как это работает
- Импульс 10 мкс на TRIG запускает 8 импульсов 40 кГц.
- ECHO выдаёт HIGH на время полёта эха.
- Расстояние = (длительность × 0.034) / 2 см.
- Избегайте мягких поверхностей.
Пример кода
// Измерение расстояния 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);
}
Измеряет время возврата сигнала на 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-проектах.