опис
Цей датчик повідомляє відстань між ним і найближчим твердим об’єктом (діапазон 50 мм – 1 м). Він обчислює відстань, використовуючи час, який потрібен ультразвуковим хвилям, щоб відбити об’єкт і повернутися до датчика.
Як працює датчик відстані: прослуховування відстані
Датчик відстані використовує ті самі принципи, що й ехолот для вимірювання звуку. Він посилає крихітний ультразвуковий імпульс із випромінювачем з одного боку датчика, а потім помножує, скільки часу потрібно, щоб почути, як звук відбивається назад у приймач з іншого боку датчика. Датчик розраховує відстань на основі того, скільки часу знадобилося звуковому імпульсу для проходження туди й назад. Потім датчик відстані робить обчислення на основі швидкості звуку, щоб повідомити мозку робота, наскільки далеко знаходиться найближчий об’єкт.
Якщо поверхня не плоска, як вигнута стіна чи м’яч, ультразвукова хвиля не відбивається від усіх частин однаково або одночасно. Найближча поверхня, достатньо велика, щоб відбити виявлену кількість хвилі, визначає виявлену відстань до об’єкта.
Загальне використання датчика відстані:
Цей датчик може виявити, чи є предмет перед ним.
Цей датчик може вимірювати відстань між ним і об'єктом.
- Робот може використовувати цей датчик, щоб від'їхати на певну відстань від об'єкта. Перегляньте наведену нижче анімацію, щоб побачити зміну значення відстані під час руху робота, доки відстань не стане меншою за 160 мм.
- Робот може використовувати цей датчик, щоб під'їхати до об'єкта, не торкаючись його. Перегляньте цю анімацію, щоб побачити двох роботів, які використовують датчики відстані для координації свого водіння.
- Значення, які надає цей датчик, можна використовувати для регулювання швидкості робота залежно від того, близько чи далеко він знаходиться від об’єкта чи поверхні. Перегляньте цю анімацію, щоб побачити, як робот регулюється залежно від відстані до стіни.
Використання датчика відстані на змагальному роботі
- Робот може використовувати датчик відстані, щоб ініціювати послідовність дій, коли він знаходиться в потрібному для цього місці. Наприклад, робот може рухатися вперед, доки не виявить, що він знаходиться на відстані 150 мм від стіни, потім повертається на 90 градусів і випускає об’єкт у залікову зону.
- Датчик відстані можна використовувати для ініціювання дій робота, наприклад підбору ігрової фігури, коли об’єкт виявлено в радіусі дії.
- Робот може використовувати датчик відстані, щоб рухатися до об’єкта або поверхні, доки він не опиниться на певній відстані, не торкаючись його. Це можна використовувати, щоб переконатися, що робот не перекине ігрові фігури.
- Робот може використовувати датчик відстані, щоб від’їхати від об’єкта чи поверхні, поки не досягне певної відстані. Це можна використовувати, щоб уникнути зіткнень з іншими роботами на полі.
Використання датчика відстані у VEXcode IQ
Додавання датчика відстані як пристрою у VEXcode IQ
Щоб закодувати датчик відстані у VEXcode IQ, ви повинні спочатку налаштувати датчик відстані. Перегляньте цю статтю, щоб дізнатися більше про налаштування датчика у VEXcode IQ.
Після налаштування датчика на панелі інструментів з’являться команди, які можна використовувати у вашому проекті.
Кодування датчика відстані в блоках
Блок <Object found> — це логічний блок репортера, який повідомляє про умову як істинну або хибну. Логічні блоки, такі як блок <Object found> , вписуються в блоки з шестикутними (шестисторонніми) входами для інших блоків.
Логічний блок <Object found> повідомляє «true», якщо датчик виявляє об’єкт, і «false», якщо датчик цього не робить. Щоб дізнатися більше про логічні блоки, відвідайте статтю Довідка або Форми та значення блоків.
У цьому прикладі блок <Object found> використовується з блоком [Зачекати], щоб змусити робота рухатися вперед, доки датчик відстані не виявить об’єкт. Коли датчик виявить об’єкт, робот припинить рух, як показано на зображенні вище.
Блок (Відстань від) повідомляє про відстань найближчого об’єкта до датчика відстані. Він повідомляє про діапазон відмм до 1000 мм або від 1 дюйма до 40 дюймів. Блок (Відстань від) — це блок звіту, який використовується всередині блоків із круглими проміжками.
У цьому прикладі блок (Відстань від) використовується з блоком [Друк] для відображення на екрані мозку відстані між датчиком відстані та об’єктом. Блок (Відстань від) також відображається всередині блоку <Less than> , який знаходиться всередині блоку {Wait until}. Це призведе до того, що робот буде рухатися, доки датчик відстані не виявить об’єкт на відстані менше 50 міліметрів, а потім припинить рух. Це показано в першому відео вище.
Кодування датчика відстані в Python
Примітка:Щоб закодувати датчик відстані VEX IQ (1-го покоління) у Python, його потрібно підключити до VEX IQ (2-го покоління) Brain. VEX IQ (1-го покоління) Brain не підтримує Python.
distance_7.is_object_detected()
Команда distance.is_object_detected повідомляє «true», якщо об’єкт виявлено, і «false», якщо об’єкт не виявлено.
Примітка:Назва датчика відстані, яка з’являється в команді, відповідає назві, наданій у конфігурації.
drivetrain.drive(FORWARD) |
| У цьому прикладі циклWhile із умовою не використовується з командою distance.is_object_detected , щоб робот рухався вперед, доки датчик відстані не виявить об’єкт. Коли датчик виявляє об’єкт, робот припинить рух, як показано в коді Python вище. |
distance_7.distance(MM)
Команда distance.distance повідомляє відстань до найближчого об’єкта від датчика відстані. Він повідомляє про діапазон відмм до 1000 мм або від 1 дюйма до 40 дюймів.
drivetrain.drive(FORWARD) |
|
У цьому прикладі цикл While із умовою , а не використовується з командою distance.is_object_detected , щоб робот рухався вперед, доки датчик відстані не виявить об’єкт. Коли датчик виявить об'єкт, робот припинить рух. У цьому прикладі команда distance.distance використовується з командою brain.screen.print для відображення на екрані мозку відстані між датчиком відстані та об’єктом. Команда distance.distance також відображається всередині циклу While з умовою , а не . Це призведе до того, що робот рухатиметься, доки датчик відстані не виявить об’єкт на відстані менше 50 міліметрів, а потім припинить рух. Це показано в першому відео вище. |