Ультразвуковой датчик HC-SR04: принцип работы, подключение к Arduino и код
Обзор HC-SR04
HC-SR04 — недорогой ультразвуковой дальномер (2 см – 4 м, точность 3 мм). Работает на 40 кГц, питание 5 В, ток ~15 мА. Угол измерения ~15°.
Характеристики
- Габариты: 45 × 20 × 15 мм
- Импульс триггера: 10 мкс TTL
- Диапазон: 2 см – 400 см
- Точность: ±3 мм
- Частота: 40 кГц
- Питание: 5 В DC
Распиновка
| № | Имя | Описание |
|---|---|---|
| 1 | VCC | Питание 5 В |
| 2 | Trig | Вход триггера (установить HIGH на 10 мкс для старта) |
| 3 | Echo | Выход: HIGH длится время полёта импульса туда-обратно |
| 4 | GND | Земля |
Принцип работы
- На Trig подаётся импульс 10 мкс HIGH
- Модуль излучает 8 циклов ультразвука 40 кГц
- Echo переходит в HIGH
- При отражении от препятствия Echo переходит в LOW
- Длительность HIGH = время полёта туда-обратно
Формула: Расстояние (см) = (Время_мкс × 0,034) / 2 (скорость звука 340 м/с = 0,034 см/мкс)
Пример: Echo HIGH = 1500 мкс → (1500 × 0,034) / 2 = 25,5 см.
Если объекта нет — Echo сбросится через 38 мкс (макс. дальность).
Подключение к Arduino
| Arduino | HC-SR04 |
|---|---|
| 5V | VCC |
| GND | GND |
| D2 | Trig |
| D3 | Echo |
Скетч (без библиотек)
const int trigPin = 2;
const int echoPin = 3;
long duration;
int distance;
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);
duration = pulseIn(echoPin, HIGH);
distance = duration * 0.034 / 2;
Serial.print("Distance: ");
Serial.print(distance);
Serial.println(" cm");
delay(100);
}
Ограничения применения
- Мягкие/пористые поверхности (плюш, ткань) поглощают звук — ложные срабатывания
- Малогабаритные объекты — слабое отражение
- Наклонные поверхности — луч уходит вбок
- Монтаж низко над полом — отражение от пола
- Дальность >4 м — сигнал не возвращается
Заключение
HC-SR04 — дешёвый, простой, низкопотребляющий датчик для робототехники, автопарковки, уровнемерах, интерактивных инсталляциях. Идеален для батарейных устройств. Вопросы — пишите!
Промышленные технологии
- Как ультразвуковые мойки трансформируют каждую отрасль
- Понимание облачных вычислений: как это работает и почему это важно
- Компактный радар на Arduino Nano с HC-SR04 и дисплеем 1.8"
- Создание ультразвукового дальномера на Arduino UNO и датчике SR04
- Мастер-класс по ультразвуковому датчику HC-SR04 с Arduino
- PIR-датчик движения: Принцип работы и руководство по интеграции с Arduino
- 3D-печать: технологии, процессы и принцип работы
- Понимание дуговой сварки: виды, принцип работы и ключевые преимущества
- Угловой транспортир (Bevel Protractor): как измеряет углы и почему это важно
- Понимание ЧПУ-расточных станков: принцип работы и ключевые преимущества