Описание
Этот датчик сообщает расстояние между ним и ближайшим твердым объектом (диапазон 50–1 м). Он рассчитывает расстояние, используя время, необходимое ультразвуковым волнам, чтобы отразиться от объекта и вернуться к датчику.
Как работает датчик расстояния: прослушивание расстояния
Датчик расстояния использует те же принципы, что и эхолоты для измерения звука. Он посылает крошечный ультразвуковой импульс с помощью излучателя на одной стороне датчика, а затем умножает время, необходимое для того, чтобы звук отразился обратно в приемник на другой стороне датчика. Датчик рассчитывает расстояние на основе того, сколько времени потребовалось звуковому импульсу, чтобы пройти туда и обратно. Затем датчик расстояния производит расчет на основе скорости звука, чтобы сообщить мозгу робота, как далеко находится ближайший объект.
Если поверхность не плоская, как изогнутая стена или шар, ультразвуковая волна не отражается от всех частей одинаково или одновременно. Ближайшая поверхность, достаточно большая, чтобы отразить обратно обнаруживаемую часть волны, определяет обнаруженное расстояние до объекта.
Обычное использование датчика расстояния:
Этот датчик может определить, есть ли перед ним объект.
Этот датчик может измерять расстояние между ним и объектом.
- Робот может использовать этот датчик, чтобы отъехать на определенное расстояние от объекта. Посмотрите анимацию ниже, чтобы увидеть, как изменяется значение расстояния по мере движения робота до тех пор, пока расстояние не станет меньше 160 мм.
- Робот может использовать этот датчик, чтобы подъехать к объекту, не касаясь его. Посмотрите эту анимацию, чтобы увидеть двух роботов, использующих датчики расстояния для координации своего движения.
- Значения, предоставляемые этим датчиком, можно использовать для регулировки скорости робота в зависимости от того, находится ли он рядом или далеко от объекта или поверхности. Посмотрите эту анимацию, чтобы увидеть, как робот адаптируется в зависимости от расстояния до стены.
Использование датчика расстояния на соревновательном роботе
- Робот может использовать датчик расстояния, чтобы инициировать последовательность действий, когда он находится в правильном для этого месте. Например, робот может двигаться вперед до тех пор, пока не обнаружит, что он находится на расстоянии 150 мм от стены, затем повернуть на 90 градусов и выпустить объект в зону зачета очков.
- Датчик расстояния можно использовать для запуска действий робота, таких как взятие игровой фишки, когда объект обнаружен в пределах досягаемости.
- Робот может использовать датчик расстояния, чтобы приближаться к объекту или поверхности до тех пор, пока он не окажется на определенном расстоянии, не касаясь его. Это можно использовать для того, чтобы робот не опрокинул игровые фишки.
- Робот может использовать датчик расстояния, чтобы отъехать от объекта или поверхности до тех пор, пока он не достигнет определенного расстояния. Это можно использовать, чтобы избежать столкновений с другими роботами на поле.
Использование датчика расстояния в VEXcode IQ
Добавление датчика расстояния в качестве устройства в VEXcode IQ
Чтобы закодировать датчик расстояния в VEXcode IQ, необходимо сначала настроить датчик расстояния. Прочтите эту статью, чтобы узнать больше о настройке датчика в VEXcode IQ.
После настройки датчика на панели инструментов появятся команды, которые вы сможете использовать в своем проекте.
Кодирование датчика расстояния в блоках
Блок <Object found> — это логический блок репортера, который сообщает об истинном или ложном условии. Логические блоки, такие как блок <Object found> , помещаются внутри блоков с шестиугольными (шестисторонними) входами для других блоков.
Логический блок <Object found> сообщает «истина», если датчик обнаруживает объект, и «ложь», если датчик этого не делает. Чтобы узнать больше о логических блоках, посетите статью Помощь или формы блоков и их значение.
В этом примере блок <Object found> используется с блоком [Подождать, пока] чтобы заставить робота двигаться вперед до тех пор, пока датчик расстояния не обнаружит объект. Когда датчик обнаружит объект, робот прекратит движение, как показано на изображении выше.
Блок (Расстояние от) сообщает расстояние до ближайшего объекта от датчика расстояния. Сообщается о диапазоне отмм до 1000 мм или от 1 до 40 дюймов. Блок (Расстояние от) — это блок репортера, который используется внутри блоков с круговыми пробелами.
В этом примере блок (Расстояние от) используется с блоком [Печать] для отображения на экране Brain расстояния между датчиком расстояния и объектом. Блок (Расстояние от) также отображается внутри блока <Less than> , который находится внутри блока {Wait until}. Это заставит робота двигаться до тех пор, пока датчик расстояния не обнаружит объект на расстоянии менее 50 миллиметров, а затем прекратит движение. Это показано в первом видео выше.
Кодирование датчика расстояния на Python
Примечание:Чтобы запрограммировать датчик расстояния VEX IQ (1-го поколения) на Python, его необходимо подключить к мозгу VEX IQ (2-го поколения). Мозг VEX IQ (1-го поколения) не поддерживает Python.
distance_7.is_object_detected()
Команда distance.is_object_detected сообщает «истина», если объект обнаружен, и «ложь», если объект не обнаружен.
Примечание:Имя датчика расстояния, отображаемое в команде, соответствует имени, заданному в конфигурации.
drivetrain.drive(FORWARD) |
| В этом примере циклWhile с условием , а не используется с командой distance.is_object_detected , чтобы заставить робота двигаться вперед до тех пор, пока датчик расстояния не обнаружит объект. Когда датчик обнаруживает объект, робот прекращает движение, как показано в коде Python выше. |
расстояние_7.расстояние(ММ)
Команда distance.distance сообщает расстояние до ближайшего объекта от датчика расстояния. Он сообщает о диапазоне от24 мм до 1000 мм или от 1 дюйма до 40 дюймов.
drivetrain.drive(FORWARD) |
|
В этом примере цикл While с условием , а не используется с командой distance.is_object_detected , чтобы заставить робота двигаться вперед до тех пор, пока датчик расстояния не обнаружит объект. Когда датчик обнаружит объект, робот прекратит движение. В этом примере команда distance.distance используется с командой Brain.screen.print для отображения на экране Brain расстояния между датчиком расстояния и объектом. Команда distance.distance также отображается внутри цикла While с условием , а не . Это заставит робот двигаться до тех пор, пока датчик расстояния не обнаружит объект на расстоянии менее 50 миллиметров, а затем прекратит движение. Это показано в первом видео выше. |