Ультразвуковой дальномер позволяет определять расстояние до объектов. Это модель URM37 v5.0 производства DFRobot. Сенсор работает как сонар: посылает ультразвуковой пучок и по задержке отражённого сигнала определяет расстояние до цели. Так же в природе ориентируются летучие мыши.
Дальномер может быть закреплён на поверхности при помощи специального крепления. Таким же образом его можно установить на сервопривод, что даст сонару возможность сканировать местность в широком диапазоне углов. Это наделит вашего робота базовым пониманием того, что происходит поблизости.
Дополнительно на плате сенсора установлен термометр, который может быть использован для считывания температуры окружающей среды. Он нужен сенсору для внесения корректировок на показания: скорость звука различна при разных температурах, но для универсальности его показания доступны для чтения.
Поскольку работа устройства основана на звуковых волнах, сонар плохо подходит для определения расстояния до звукопоглощающих объектов, таких как мягкая мебель с длинным ворсом или персидские коты. Для измерения дистанции в таком окружении подойдёт инфракрасный дальномер или лидар.
Для считывания данных с ультразвукового дальномера URM37 доступен целый ряд интерфейсов: Serial или PWM, TTL или RS232. Также предусмотрены разные режимы работы: определение расстояния по запросу, постоянное сканирование. Всё это делает сенсор гибким в использовании и подходящим для широкого круга задач.
В отличие от предыдущих версий сенсора, интерфейс TTL или RS232 задаётся длительным нажатием встроенной кнопки (около 1 секунды) с последующей перезагрузкой. Световой индикатор подскажет выбранный режим:
Обязательно переключите режим на TTL, если вы собираетесь использовать сенсор с платами Arduino, поскольку они не поддерживают общение по RS232 напрямую через цифровые пины.
Датчик подключается через к управляющим платам через 9 штырьковых контактов. Для считывания показаний о расстоянии и температуре достаточно использовать 4 из них. Контакты можно соединить с макетной платой или Arduino проводами «мама-папа», а с Troyka Shield через провода «мама-мама».
Для упрощения программирования при подключении сенсора к Arduino существует неофициальная библиотека.