Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Как работает ультразвуковой датчик?

Ультразвуковые датчики работают, испуская звуковые волны на частоте (40 кГц), которая слишком высока для человеческого уха. Эти звуковые волны распространяются в воздухе и отражаются, когда натыкаются на предмет. Датчик вычисляет расстояние, измеряя, сколько времени звуковым волнам нужно, чтобы вернуться.

Ультразвуковой датчик
  • Передатчик: испускает ультразвуковые звуковые волны.
  • Приёмник: обнаруживает звуковые волны, отражённые от предмета.

Формула для вычисления расстояния:

Distance = (Time x Speed of Sound) / 2

Скорость звука при нормальном атмосферном давлении и температуре 20 °C составляет примерно 0,0343 см/мкс (или 343 м/с).

Пример расчёта

Допустим, ультразвуковой датчик фиксирует, что звуковой волне понадобилось 2000 мкс, чтобы вернуться после удара о предмет.

Шаг 1: вычисляем общее расстояние, которое прошла звуковая волна:

Total distance = Time x Speed of Sound
Total distance = 2000 µs x 0.0343 cm/µs = 68.6 cm

Шаг 2: поскольку звуковая волна прошла до предмета и обратно, расстояние до предмета — половина общего пути:

Distance to object = 68.6 cm / 2 = 34.3 cm

Итак, предмет находится на расстоянии 34,3 см от датчика.

Распиновка HC-SR04

У модуля четыре вывода: VCC, Trig, Echo и GND.

Вывод Функция
VCC Питание
Trig Сигнал запуска (Trigger)
Echo Сигнал эха (Echo)
GND Земля

Измерение расстояния с помощью модуля HC-SR04

В модуле HC-SR04 есть передатчик и приёмник, которые отвечают за отправку ультразвуковых волн и обнаружение отражённых. Мы будем использовать вывод Trig, чтобы посылать звуковые волны, и считывать сигнал с вывода Echo, чтобы измерять расстояние.

Сигналы Trig и Echo

Как видно на схеме, мы подключаем выводы Trig и Echo к выводам GPIO микроконтроллера (также подключаем VCC и GND, но на схеме их опустили, чтобы не усложнять рисунок). Чтобы отправить ультразвуковые волны, мы переводим вывод Trig в HIGH на 10 микросекунд, а затем возвращаем его в LOW. Это заставляет модуль отправить 8 последовательных ультразвуковых волн на частоте 40 кГц. Рекомендуется делать паузу не менее 50 мс между запусками.

Когда волны датчика натыкаются на предмет, они отражаются обратно к модулю. Как видно на схеме, вывод Echo меняет сигнал, который передаётся микроконтроллеру: длительность, в течение которой сигнал остаётся в HIGH (ширина импульса), соответствует расстоянию. В микроконтроллере мы измеряем, сколько времени вывод Echo остаётся в HIGH. Затем эту длительность можно использовать для вычисления расстояния до предмета.

Ширина импульса и расстояние:

Ширина импульса (время, в течение которого сигнал остаётся в высоком состоянии), которую выдаёт вывод Echo, находится примерно в диапазоне от 150 мкс до 25 000 мкс (25 мс). Это только если сигнал отразился от предмета. Если предмета нет, ширина импульса составит около 38 мс.