Датчики расстояния

Дальномер нужен роботу, чтобы обнаружить стену, подъехать к детали, остановиться перед препятствием или оценить свободное место перед шасси. Но «датчик расстояния» не означает один универсальный принцип: ультразвук, ИК-триангуляция и оптический ToF ошибаются по-разному.
Ультразвуковой датчик измеряет время эха. ИК-триангуляционный датчик оценивает угол отражённого луча. ToF-датчик измеряет время пролёта света внутри микросхемы и отдаёт цифровой результат. Выбор зависит от диапазона, поля зрения, поверхности, скорости и интерфейса.
Зачем это нужно
Если робот едет к стене, ему мало знать «что-то впереди». Нужны рабочий диапазон, допустимая задержка и поведение при ошибке. Узкая ножка стула, мягкая ткань, стекло и наклонная поверхность могут давать разные ответы у разных датчиков.
В учебных проектах часто начинают с HC-SR04: он нагляден и дешёв. Но для компактного робота или точного подъезда к объекту удобнее смотреть на ToF-модули вроде VL53L0X или VL53L1X. Для аналогового знакомства полезен Sharp GP2Y0A21: его напряжение меняется с расстоянием нелинейно.
Примеры датчиков

| Датчик | Принцип | Выход | Типичный диапазон |
|---|---|---|---|
| HC-SR04 | ультразвук | Trig/Echo, время импульса | около 2...400 см, питание 5 В |
| VL53L0X | оптический ToF | I²C | примерно 30...2000 мм, зависит от цели и режима |
| Sharp GP2Y0A21 | ИК-триангуляция | аналоговое напряжение | около 10...80 см, нужен АЦП |
| VL53L1X | оптический ToF | I²C | до нескольких метров, настраиваемая область интереса |
Главный вопрос: что именно ограничивает измерение? У HC-SR04 это эхо и угол поверхности, у Sharp — нелинейная аналоговая характеристика, у ToF — отражательная способность цели, поле зрения и настройки внутреннего измерения.
Главная идея
Датчик расстояния отправляет энергию в сторону объекта и анализирует возвращённый сигнал:
излучение -> объект -> отражение -> измерительная схема -> расстояние или код
Если модель выдаёт аналоговое напряжение, его читает АЦП. Если датчик цифровой, программа читает регистры и статус измерения. В обоих случаях важно проверять диапазон и состояние «нет достоверного расстояния».

Ультразвук
HC-SR04 посылает короткий ультразвуковой импульс и ждёт эхо. Расстояние оценивают по времени туда и обратно:
distance = speed_of_sound * echo_time / 2
Метод хорошо демонстрирует физику, но зависит от формы и угла объекта. Мягкая поверхность может поглотить звук, узкая ножка может не попасть в поле датчика, а несколько отражений дают ложный результат.
Инфракрасные способы
Sharp GP2Y0A21 использует триангуляцию: положение отражённого пятна внутри датчика связано с расстоянием. Его выход аналоговый и нелинейный, поэтому нельзя переводить код АЦП в сантиметры простой пропорцией.
ToF-модули вроде VL53L0X и VL53L1X работают иначе: они измеряют время пролёта света внутри специализированной микросхемы и передают результат по I²C. Это удобно для компактных роботов, но датчик всё равно имеет поле зрения, ограничения по поверхности и статус ошибки.
Сравнение методов
| Метод | Сильная сторона | Ограничение | Где удобен |
|---|---|---|---|
| Ультразвук | дешёвый, понятный, видит крупные объекты | широкий луч, проблемы с мягкими и наклонными поверхностями | объезд стен и коробок |
| ИК-триангуляция | быстрый аналоговый сигнал | нелинейность и ограниченный диапазон | подъезд на фиксированную дистанцию |
| ToF | компактность, цифровой результат | чувствительность к поверхности, стеклу и режиму | точное ближнее обнаружение |
Что запомнить про дальномер
- Рабочий диапазон принадлежит конкретной модели, а не всему типу датчиков.
- Аналоговый дальномер требует АЦП и калибровки.
- Цифровой дальномер нужно читать вместе со статусом измерения.
- Угол, материал, размер объекта и поле зрения могут быть важнее паспортной дальности.
- Для движения робота важны не только точность, но и задержка реакции.
Практика
- Измерьте линейкой несколько расстояний и сравните их с показаниями дальномера.
- Проверьте один и тот же объект под прямым углом и под наклоном.
- Запишите, что программа должна делать при значении вне диапазона или потере эха.
Проверьте себя
- Почему время эха делят на два?
- Почему Sharp GP2Y0A21 нельзя пересчитывать простой линейной формулой?
- Чем ToF отличается от ультразвука для программы?
- Почему стекло или чёрная поверхность могут быть сложной целью?
Сначала ответьте без подсказки. Ответ можно считать полным, если вы:
- формулируете основную мысль своими словами;
- называете важные условия, ограничения или меры безопасности;
- для схемы, кода или расчёта показываете ход решения и ожидаемый результат.
Если один из пунктов объяснить не получается, найдите соответствующую главу статьи, перечитайте её и повторите ответ.
Словарь статьи
- Дальномер — датчик, оценивающий расстояние до объекта.
- Эхо — отражённый звуковой сигнал.
- Триангуляция — определение расстояния по геометрии луча и отражения.
- Time of Flight — измерение времени пролёта сигнала.
- Поле зрения — область пространства, из которой датчик получает отражение.
Связанные темы
- АЦП — как читать аналоговый дальномер.
- Калибровка датчиков — как проверить шкалу расстояния.
- Фильтрация данных с датчиков — как работать с выбросами и задержкой.
Источники
- STMicroelectronics. VL53L0X time-of-flight ranging sensor.
- STMicroelectronics. VL53L1X long-distance ranging sensor.
- Sharp. GP2Y0A21YK0F distance measuring sensor datasheet.