HC-SR04 Ультразвуковой дальномер
Ультразвуковой датчик расстояния (дальномер) HC-SR04 - может измерять расстояние при помощи ультразвука.
TX сенсор излучает ультразвуковой импульс, который отражается от препятствия и принимается RX сенсором. Расстояние вычисляется по времени прохождения ультразвука от TX передатчика -> препятствие -> к RX приемнику. Скорость звука при температуре 20° C составляет 1235 км/ч или 343 м/с. При программировании датчика расстояния? нужно полученный результат поделить на 2. Так как ультразвук сначала движется до препятствия, а потом отразившись от него движется назад. То есть он преодолевает одно и тоже расстояние 2 раза. Еще стоит учитывать влажность воздуха и его температуру, скорость ультразвука изменяется в зависимости от этих параметров
Характеристики дальномера HC-SR04
- Напряжение питания: 5 В
- Потребляемый ток: 15 мА;
- Ток покоя: < 2 мА
- Эффективный угол обзора: < 15°
- Диапазон измерений: 2 см - 400 см
- Разрешение: 3 мм
Выводы для подключения к контроллеру:
- VCC - +5V Arduino
- Trig - D8 Arduino
- Echo - D9 на Arduino
- GND - GND
Скетч для Arduino
const int Trig = 8;
const int Echo = 9;
unsigned int distance_sm=0;
unsigned int time_us=0;
void setup()
{
pinMode(Trig, OUTPUT);
pinMode(Echo, INPUT);
Serial.begin(9600);
}
void loop()
{
digitalWrite(Trig, HIGH); // Подаем сигнал на выход микроконтроллера
delayMicroseconds(10); // Удерживаем 10 микросекунд
digitalWrite(Trig, LOW); // Затем убираем
time_us=pulseIn(Echo, HIGH); // Замеряем длину импульса
distance_sm=time_us/58; // Пересчитываем в сантиметры
Serial.println(distance_sm); // Выводим в порт
delay(500); }
Распиновка HC-SR04
| Вывод | Тип | Назначение |
|---|---|---|
| VCC | вход питания | Питание 5 В |
| Trig | только вход | Запуск измерения: импульс высокого уровня не короче 10 мкс |
| Echo | только выход | Импульс уровня 5 В, его длительность пропорциональна расстоянию |
| GND | вход питания | Общий провод |
Подключение HC-SR04 к ESP32 и ESP8266
Выход Echo выдаёт 5 В, а входы ESP32 и ESP8266 рассчитаны на 3,3 В. Поставьте делитель: Echo — резистор 1 кОм — вход платы, и от входа платы на GND — резистор 2 кОм. Вход Trig понимает 3,3 В, его подключают напрямую. Питание датчика — 5 В от вывода VIN или 5V платы: от 3,3 В HC-SR04 работает неустойчиво.
Почему HC-SR04 показывает 0 или неверное расстояние
- Ближе 2 см датчик не измеряет, а при большом расстоянии
pulseIn()ждёт эхо до таймаута и возвращает 0. Задавайте таймаут явно:pulseIn(Echo, HIGH, 30000)— это около 5 м. - Мягкие и наклонные поверхности — ткань, поролон, стена под углом больше 15–20° — отражают звук мимо приёмника.
- Измерения слишком часто. Делайте паузу не меньше 60 мс между замерами, иначе датчик принимает эхо от предыдущего импульса.
- Два датчика рядом слышат импульсы друг друга. Опрашивайте их по очереди.
- Холод и жара. Скорость звука меняется примерно на 0,6 м/с на каждый градус. Для точных замеров учитывайте температуру воздуха.
| Вес | 9 г |
Категории: Детали для роботов Датчики Аудио - звуковые модули
HC-SR04 Ультразвуковой дальномер отзывы
Оставьте отзыв об этом товаре первым!