Использование датчика расстояния с VEX EXP

Датчик расстояния — один из мощных датчиков, предназначенных для полной интеграции с робототехнической платформой EXP. Этот датчик использует импульс безопасного для классной комнаты лазерного света для измерения расстояния от передней части датчика до объекта.

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


Описание датчика

Датчик расстояния имеет следующие возможности:

  • Измерение расстояния: Датчик использует импульс безопасного для использования в классе лазерного света для измерения расстояния от передней части датчика до объекта. Расстояние указывается в дюймах или сантиметрах на панели датчиков Brain и в дюймах или миллиметрах в VEXcode EXP.
  • Обнаружение объекта: Датчик также можно использовать для обнаружения объекта рядом.
  • Определить относительный размер объекта: Датчик также можно использовать для определения относительного размера обнаруженного объекта. Приблизительный размер объекта указывается как маленький, средний или большой.
  • Сообщить о скорости объекта: Датчик можно использовать для расчета и сообщения скорости в метрах в секунду для объекта, приближающегося к датчику, или датчика, приближающегося к объекту.

Схема крепления датчика расстояния к опоре двумя винтами.

Задняя часть корпуса датчика имеет пять отверстий для обеспечения гибкости при установке датчика на робота.

Датчик расстояния с выделенным чувствительным окном. Окно слегка утоплено в переднюю часть датчика. На этикетке написано «Окно для лазера».

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

Схема EXP Brain, подключенного к датчику расстояния VEX.

Чтобы датчик расстояния мог работать с EXP Brain, интеллектуальный порт датчика и интеллектуальный порт EXP Brain необходимо соединить с помощью интеллектуального кабеля.

Датчик будет работать с любым из 10 интеллектуальных портов EXP Brain.

При подключении кабеля EXP Smart к портам убедитесь, что разъем кабеля полностью вставлен в порт и фиксирующий язычок разъема полностью зафиксирован.


Как работает датчик расстояния

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

Лазер класса 1 датчика аналогичен лазерам, используемым в современных сотовых телефонах для обнаружения головы. Лазер позволяет датчику иметь очень узкое поле зрения, поэтому обнаружение всегда происходит непосредственно перед датчиком.

Диапазон измерения датчика составляет от 20 миллиметров (мм) до 2000 миллиметров (мм) (от 0,79 до 78,74 дюйма). Ниже 200 миллиметров (мм) точность составляет примерно +/-15 миллиметров (мм); выше 200 миллиметров (мм) точность составляет примерно 5%.

Датчик расстояния необходимо соединить с VEXcode EXP, чтобы создать пользовательскую программу для EXP Brain, которая будет использовать показания датчика для управления поведением робота.

EXP Brain совместно с пользовательским проектом может использоваться для преобразования показаний датчика расстояния в:

  • Расстояние до объекта измеряется в сантиметрах, миллиметрах или дюймах.
  • Скорость объекта в метрах в секунду.
  • Размер объекта маленький, средний или большой.
  • Объект найден.

Настройка датчика расстояния

Размещение

Сборка BaseBot с прикрепленным датчиком расстояния, который подсвечивается и направлен вперед от робота.

Размещение датчика расстояния очень важно для получения точных показаний.

Убедитесь, что перед маленьким окном датчика на его лицевой стороне нет никаких посторонних предметов на роботе.

Перед датчиком должен быть свободный путь между любым измеряемым объектом и датчиком.

Чтение значений датчика расстояния

Экран Brain отображается в меню «Устройства» с выбранным устройством «Датчик расстояния».

Полезно использовать экран «Устройства» на EXP Brain, чтобы просмотреть информацию, которую сообщает датчик расстояния.

На панели датчиков панель датчиков отображает расстояние до ближайшего объекта в дюймах или сантиметрах.

Единицы измерения можно изменить, нажав кнопку «Проверить» на Brain для переключения между дюймами и сантиметрами.

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


Добавление датчика расстояния в качестве устройства в VEXcode EXP

Всякий раз, когда датчик используется с языком программирования, его необходимо настроить на этом языке. 

Меню устройств VEXcode EXP после нажатия кнопки «Добавить устройство». Выделена опция «Расстояние».

В VEXcode EXP это достигается с помощью функции «Добавить устройство» в окне «Устройства».

Чтобы добавить датчик расстояния в конфигурацию, следуйте инструкциям в этой статье. 

Скриншот VEXcode EXP с открытым меню «Устройства». Подключенный датчик расстояния отображается и выделяется в меню «Устройства». Панель инструментов блоков открыта, и категория блоков «Определение расстояния» выделена.

После добавления датчика расстояния в ваш проект станет доступен новый набор блоков датчиков.

Для получения дополнительной информации о блоках из категории «Датчики», относящихся к датчику расстояния, просмотрите справочную информацию (Блоки проекта).


Обычное использование датчика расстояния

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

Обнаружить объект

Проект VEXcode EXP блокирует проект, который использует датчик расстояния для поиска объекта и последующего движения к нему. Проект гласит: «При запуске поверните направо, подождите, пока Distance7 не обнаружит объект, а затем проедьте вперед 400 мм».

Эта функция позволяет вашему роботу обнаруживать объект, когда он попадает в зону действия датчика расстояния. Датчик расстояния сообщит об обнаруженном объекте, когда он окажется на расстоянии менее 1000 мм.

Пример проекта, показанный слева, используется для кодирования робота с датчиком расстояния, установленного спереди, чтобы он поворачивался до тех пор, пока не обнаружит объект, например куб, а затем двигался вперед, как только датчик обнаружит объект.

Расстояние до объекта

VEXcode EXP блокирует проект, в котором используется датчик расстояния для направления робота к объекту, а затем захват с помощью захвата. Проект гласит: При запуске двигайтесь вперед и ждите, пока расстояние до объекта Distance7 в мм не станет меньше 75. Наконец, остановите движение и поверните ClawMotor на 25 градусов.

Это обеспечивает измерение между передней частью датчика и объектом или барьером/стеной.

Пример проекта, показанный слева, используется для кодирования робота с датчиком расстояния, установленным спереди, и прикрепленным когтем. Робот будет двигаться до тех пор, пока не обнаружит объект, находящийся на расстоянии менее 75 мм от датчика, а затем замкнет захват вокруг объекта. Этот пример будет полезен, если известно, что перед роботом находится объект, и вы хотите, чтобы робот двинулся вперед, чтобы забрать этот объект. 

Чтобы определить, насколько далеко объект находится от датчика, и использовать этот параметр в проекте, используйте панель датчиков в EXP Brain. Дополнительную информацию об использовании Sensor Dashboard см. в этой статье.

Сообщить о скорости объекта

Проект блоков VEXcode EXP, который использует блоки датчика расстояния и печати для сообщения скорости объекта в режиме реального времени. В проекте говорится: При запуске установите точность печати на уровне 0,1 в Brain. Далее следует бесконечный цикл с 5 блоками. 5 блоков читают «Очистить все строки на Brain», устанавливают курсор на строку 1, столбец 1 на Brain, печатают «Distance7 нашел объект на Brain и устанавливают курсор на следующую строку», печатают «Distance7 скорость объекта в м/с на Brain» и, наконец, ждут 0,25 секунды.

Эта функция обеспечивает измерение скорости в метрах в секунду объекта, приближающегося к датчику, или датчика, приближающегося к объекту.

Чтобы наблюдать изменение скорости при приближении объекта, можно использовать пример слева. В этом проекте информация будет выводиться на экран Мозга. Мозг будет печатать, когда датчик расстояния обнаружит объект и укажет скорость этого объекта в метрах/секунду. Чтобы более точно увидеть эти изменяющиеся числа, точность печати установлена ​​на 0,1. 

Проверьте этот проект, перемещая куб ближе и дальше от датчика. Когда объект и/или датчик удаляются друг от друга, значения скорости будут отрицательными.

Определить относительный размер объекта

Проект блоков VEXcode EXP, который использует датчик расстояния и блоки печати для сообщения размера объекта в режиме реального времени. Проект состоит из блока When started, за которым следует цикл Forever, содержащий 13 команд. Первые три команды в цикле Forever читаются как «Очистить все строки в Brain, установить курсор на строку 1, столбец 1 в Brain, вывести размер объекта в Brain и установить курсор на следующую строку». Далее следует блок If, который гласит: Если Distance7 нашел объект? Внутри этого первого блока If есть второй, связанный с оператором Else if и оператором Else. Эти внутренние операторы If вместе читаются так: Если размер объекта Distance7 маленький, то вывести Small на Brain, иначе, если размер объекта Distance7 средний, то вывести Medium на Brain, а иначе вывести Large на Brain. За первым блоком If следует оператор Else, который читает else print No object found on Brain. Наконец, за пределами обоих операторов If имеется блок Wait, в котором указано Wait 0,25 секунды.

Эта функция позволяет вашему роботу идентифицировать объект как маленький, средний или большой в зависимости от показаний датчика.

В этом примере слева используются блоки [If then else] и [Print] для печати относительного размера объекта в Brain. Размещайте различные предметы перед датчиком и смотрите на показания на экране Мозга, чтобы увидеть идентификацию размера в режиме реального времени.

Чтобы определить относительный размер объекта, датчик использует информацию о количестве света, отражающегося обратно на датчик. Объекты следует размещать на расстоянии от 100 до 300 мм (около 4–12 дюймов) от датчика, чтобы получить наиболее точное представление размера.

For more information, help, and tips, check out the many resources at VEX Professional Development Plus

Last Updated: