Використання датчика відстані з VEX EXP

Датчик відстані є одним із потужних датчиків, розроблених для повної інтеграції з робототехнічною платформою EXP. Цей датчик використовує імпульс безпечного лазерного світла для вимірювання відстані від передньої частини датчика до об’єкта.

Датчик відстані VEX.


Опис датчика

Датчик відстані має такі можливості:

  • Вимірювання відстані: Датчик використовує імпульс безпечного лазерного світла для вимірювання відстані від передньої частини датчика до об’єкта. Відстань повідомляється в дюймах або сантиметрах на приладовій панелі датчика мозку та в дюймах або міліметрах у VEXcode EXP.
  • Виявлення об'єкта: Датчик також можна використовувати для виявлення, коли він знаходиться поблизу об'єкта.
  • Визначити відносний розмір об’єкта: Датчик також можна використовувати для визначення відносного розміру об’єкта, який було виявлено. Приблизний розмір об’єкта позначається як малий, середній або великий.
  • Повідомлення про швидкість об’єкта: Датчик можна використовувати для обчислення та повідомлення швидкості в метрах за секунду для об’єкта, що наближається до датчика, або датчика, що наближається до об’єкта.

Схема датчика відстані, прикріпленого до опорної деталі двома гвинтами.

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

Датчик відстані з виділеним вікном сприйняття. Вікно трохи вставлене в передню частину датчика. На етикетці написано «Вікно для лазера».

На лицьовій стороні датчика є невелике віконце, через яке лазерний промінь надсилається, а потім приймається для вимірювання відстані.

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

Щоб датчик відстані працював із EXP Brain, розумний порт датчика та розумний порт EXP Brain мають бути з’єднані смарт-кабелем.

Датчик працюватиме з будь-яким із 10 розумних портів EXP Brain.

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


Як працює датчик відстані

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

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

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

Датчик відстані потрібно об’єднати з VEXcode EXP, щоб створити програму користувача для EXP Brain, яка використовуватиме показання датчика для керування поведінкою робота.

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

  • Відстань до об'єкта, що вимірюється в сантиметрах, міліметрах або дюймах.
  • Швидкість об'єкта в метрах за секунду.
  • Розмір об’єкта малий, середній або великий.
  • Об'єкт знайдено.

Налаштування датчика відстані

Розміщення

Конструкція BaseBot з прикріпленим датчиком відстані, який підсвічується та спрямований перед роботом.

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

Переконайтеся, що жодної конструкції на роботі немає перед маленьким віконцем датчика на передній частині датчика.

Повинен бути вільний шлях перед датчиком між будь-яким об’єктом, який вимірюється, і датчиком.

Зчитування значень датчика відстані

Екран Brain відображається в меню «Пристрої» з вибраним пристроєм «Датчик відстані».

Корисно використовувати екран «Пристрої» на EXP Brain, щоб переглянути інформацію, яку повідомляє датчик відстані.

На інформаційній панелі датчика інформаційна панель датчика відстані повідомляє відстань до найближчого об’єкта в дюймах або сантиметрах.

Одиниці вимірювання можна змінити, натиснувши кнопку «Перевірити» на головному екрані для перемикання між дюймами та сантиметрами.

Щоб використовувати інформаційну панель датчика, виконайте дії, наведені в цій статті. 


Додавання датчика відстані як пристрою у VEXcode EXP

Щоразу, коли датчик використовується з мовою програмування, його потрібно налаштувати в межах цієї мови. 

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

З VEXcode EXP це досягається за допомогою функції «Додати пристрій» у вікні «Пристрої».

Щоб додати датчик відстані до конфігурації, виконайте дії, наведені в цій статті. 

Знімок екрана VEXcode EXP з відкритим меню «Пристрої». Підключений датчик відстані відображається та виділяється в меню «Пристрої». Панель інструментів блоків відкрита, а категорія блоків «Вимірювання відстані» виділена.

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

Для отримання додаткової інформації про блоки з категорії «Сенсори», які стосуються датчика відстані, перегляньте довідкову інформацію (Blocks project).


Загальне використання датчика відстані

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

Виявлення об'єкта

Проєкт блоків VEXcode EXP використовує датчик відстані для пошуку об'єкта та подальшого руху до нього. У проекті написано: «Після запуску поверніть праворуч, зачекайте, поки Distance7 знайде об’єкт, а потім проїдьте вперед ще 400 мм».

Ця функція дозволяє вашому роботу виявляти об’єкт, коли він потрапляє в зону дії датчика відстані. Датчик відстані повідомить про знайдений об’єкт, коли він знаходиться приблизно на відстані менше 1000 мм.

Приклад проекту, показаний ліворуч, використовується для кодування робота з датчиком відстані, встановленим спереду, щоб він повертався, доки він не виявить об’єкт, наприклад куб, а потім рухався вперед, коли об’єкт виявлено датчиком.

Відстань до об'єкта

Проєкт блоків VEXcode EXP використовує датчик відстані для керування роботом до об'єкта, а потім використовує кіготь для його захоплення. У проекті написано: «Після запуску рухайтеся вперед, а потім чекайте, поки відстань до об’єкта Distance7 у мм не стане меншою за 75». Нарешті, зупиніть рух і поверніть ClawMotor на 25 градусів.

Це забезпечує вимірювання між передньою частиною датчика та об’єктом або бар’єром/стіною.

Приклад проекту, показаний ліворуч, використовується для кодування робота з датчиком відстані, встановленим спереду та прикріпленим кігтем. Робот рухатиметься, доки не виявить, що об’єкт знаходиться на відстані менше 75 мм від датчика, а потім замкне кіготь навколо об’єкта. Цей приклад буде корисним, якщо відомо, що перед роботом є об’єкт, і ви хочете, щоб робот поїхав вперед, щоб забрати цей об’єкт. 

Щоб визначити, наскільки далеко об’єкт знаходиться від датчика, і використовувати цей параметр у проекті, скористайтеся панеллю датчиків на EXP Brain. Перегляньте цю статтю, щоб отримати додаткові відомості про використання сенсорної панелі.

Повідомити про швидкість об'єкта

Проект блоків VEXcode EXP, який використовує блоки Distance Sensor та Print для повідомлення про швидкість об'єкта в реальному часі. Проект виглядає так: «Під час запуску встановіть точність друку на 0,1 для Brain». Далі йде цикл Forever з 5 блоками. 5 блоків містять такі слова: Очистити всі рядки на блоці Brain, встановити курсор на рядок 1, стовпець 1 на блоці Brain, вивести Distance7 знайдено об'єкт на блоці Brain та встановити курсор на наступний рядок, вивести Distance7 швидкість об'єкта в м/с на блоці Brain та нарешті зачекати 0,25 секунди.

Ця функція забезпечує вимірювання швидкості об’єкта, що наближається до датчика, або датчика, який наближається до об’єкта, у метрах за секунду.

Щоб спостерігати зміну швидкості при наближенні об’єкта, можна використати приклад, наведений ліворуч. У цьому проекті інформація буде виведена на екран Brain. Мозок надрукує, коли датчик виявить об’єкт, і швидкість цього об’єкта в метрах/секунду. Щоб точніше бачити ці мінливі числа, точність друку встановлено на 0,1. 

Перевірте цей проект, перемістивши куб ближче та далі від датчика. Коли об’єкт і/або датчик віддаляються один від одного, значення швидкості будуть від’ємними.

Визначте відносний розмір предмета

Проект блоків VEXcode EXP, який використовує блоки Distance Sensor та Print для повідомлення про розмір об'єкта в режимі реального часу. Проєкт складається з блоку When started, за яким йде цикл Forever, що містить 13 команд. Перші три команди в циклі Forever читаються так: Очистити всі рядки в Brain, встановити курсор на рядок 1 стовпець 1 в Brain та вивести розмір об'єкта в Brain та встановити курсор на наступний рядок. Далі йде блок If, який читає: Якщо Distance7 знайшов об'єкт? Усередині цього першого блоку If є другий, підключений до оператора if Else та оператора Else. Ці внутрішні оператори If разом мають такий вигляд: Якщо розмір об'єкта Distance7 малий, то виведіть Small для Brain, інакше, якщо розмір об'єкта Distance7 середній, то виведіть Medium для Brain, а інакше виведіть Large для Brain. Після першого блоку If йде оператор Else, який читається так: else print На Brain не знайдено жодного об'єкта. Нарешті, поза обома операторами If є блок Wait зі значенням Wait 0.25 seconds.

Ця функція дозволяє вашому роботу ідентифікувати об’єкт як малий, середній або великий залежно від показань датчика.

У цьому прикладі зліва використовуються блоки [If then else] і [Print] для друку відносного розміру об’єкта в мозку. Розмістіть різні об'єкти перед датчиком і подивіться на показання на екрані Brain's, щоб побачити ідентифікацію розміру в реальному часі.

Щоб визначити відносний розмір об’єкта, датчик використовує інформацію про кількість світла, яке відбивається від датчика. Об’єкти слід розташовувати на відстані від 100 мм до 300 мм (приблизно 4-12 дюймів) від датчика, щоб отримати найточніше представлення розміру.

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

Last Updated: