Ультразвуковой дальномер
датчик расстояния · HC-SR04
Это понятие впервые встречается на программе «Инженерия и системный подход к решению задач» — примерно 11-12 лет (5-6 класс).
Датчик расстояния: посылает неслышный звук и ловит эхо. Чем позже вернулось эхо, тем дальше предмет.
Летучая мышь: пищит и по эху узнаёт, где стена и добыча, даже в полной темноте.
На готовой модели «робот тормозит перед препятствием» показать: робот замечает стену заранее и останавливается, не коснувшись её; проверить то же с подушкой.
Излучатель посылает короткий ультразвуковой щелчок, приёмник ждёт эхо, контроллер измеряет время полёта. Расстояние = время × скорость звука (около 340 м/с) ÷ 2 — звук летит туда и обратно. Ультразвук — звук выше слышимого человеком, поэтому измерений не слышно.
На модели «робот тормозит перед стеной» измерить рулеткой дистанцию остановки у стены, коробки и подушки и объяснить разницу через эхо; на 7-8 — откалибровать дальномер по монитору порта: коробка на 20, 50 и 100 см, найти, где начинаются ошибки.
Типовой модуль HC-SR04: излучает пачку импульсов на 40 кГц; длительность ответного сигнала равна времени полёта эха; диапазон примерно 2–400 см, угол обзора ~15°. В коде: расстояние в см = время в мкс / 58 (в 58 уже «зашиты» скорость 340 м/с и деление на 2). Краевые случаи: поролон глушит эхо, косая гладкая поверхность отражает его мимо приёмника, а скорость звука меняется с температурой — на жаре датчик слегка «врёт».
Подключить HC-SR04 к Arduino, вывести расстояние в монитор порта и показать формулу в коде; проверить, что t × 340 ÷ 2 и t/58 дают одно и то же.
Частое заблуждение
«Дальномер видит предметы, как глаз». Нет: он посылает неслышный писк и ждёт эхо; мягкая или сильно наклонённая поверхность эха не возвращает — такой предмет датчик «не замечает».