Датчик відстані#
Вступ#
Датчик відстані може визначати, чи знаходиться об’єкт перед ним, і повертати інформацію про відстань до нього. Він також може повертати відносну швидкість виявленого об’єкта та оцінювати, чи є об’єкт малим, середнім чи великим.
Датчик відстані працює в діапазоні від 20 мм до 2000 мм.
Нижче 200 мм точність становить приблизно ±15 мм. Вище 200 мм точність покращується приблизно до 5%.
Датчик відстані використовує лазер класу 1. Виявлення спрямоване прямо вперед і безпечне для використання в класі.

На цій сторінці як приклад назви датчика відстані використовується distance_sensor За потреби замініть її власною налаштованою назвою.
Нижче наведено список доступних методів:
object_distance— Повертає відстань між датчиком відстані та найближчим виявленим об’єктом.object_velocity— Повертає швидкість руху виявленого об’єкта до датчика відстані або від нього.object_size— Повертає приблизний розмір виявленого об’єкта.is_object_detected— Повертає, чи датчик відстані наразі виявляє об’єкт.changed— Реєструє функцію, яка запускатиметься щоразу, коли змінюється значення датчика відстані.
Конструктор — Ручна ініціалізація датчика відстані.
Distance— Створює датчик відстані.
відстань_об’єкта#
object_distance повертає відстань між датчиком відстані та найближчим виявленим об’єктом у вигляді десяткового числа (число з плаваючою комою).
Usage:
distance_sensor.object_distance(units)
Параметри |
Опис |
|---|---|
|
Необов’язково. Одиниця вимірювання відстані: |
# Drive forward until the object is within 50 mm away
drivetrain.drive(FORWARD)
while not distance_sensor.object_distance(MM) < 50:
pass
drivetrain.stop()
швидкість_об’єкта#
object_velocity повертає відносну швидкість виявленого об’єкта у вигляді десяткового числа (число з плаваючою комою) у м/с (метрах за секунду).
Швидкість показує, як швидко об’єкт рухається до датчика відстані або від нього. Значення близьке до 0 означає, що об’єкт не рухається суттєво відносно датчика.
Usage:
distance_sensor.object_velocity()
Параметри |
Опис |
|---|---|
Цей метод не має параметрів. |
розмір_об’єкта#
object_size повертає приблизний розмір об’єкта, виявленого датчиком відстані.
Датчик відстані оцінює розмір об’єкта на основі того, яку частину поля зору датчика займає виявлений об’єкт.
ObjectSizeType(0, “NONE”)— Об’єкт не виявлено.ObjectSizeType(1, “SMALL”)— Виявлено малий об’єкт.ObjectSizeType(2, “MEDIUM”)— Виявлено об’єкт середнього розміру.ObjectSizeType(3, “LARGE”)— Виявлено великий об’єкт.
Usage:
distance_sensor.object_size()
Параметри |
Опис |
|---|---|
Цей метод не має параметрів. |
виявлено_об’єкт#
is_object_detected повертає, чи датчик відстані наразі виявляє об’єкт.
True— Датчик відстані виявляє об’єкт.False— Датчик відстані не виявляє об’єкт.
Usage:
distance_sensor.is_object_detected()
Параметри |
Опис |
|---|---|
Цей метод не має параметрів. |
# Drive forward until the object is within 50 mm away
while True:
drivetrain.drive(FORWARD)
if distance_sensor.is_object_detected():
if distance_sensor.object_distance(MM) < 50:
drivetrain.stop()
break
змінився#
changed реєструє функцію, яка викликається щоразу, коли змінюється значення датчика відстані.
Usage:
distance_sensor.changed(callback, arg)
Параметри |
Опис |
|---|---|
|
Раніше визначена функція, яка виконується, коли значення датчика відстані змінюється. |
|
Необов’язково. Кортеж, що містить аргументи для передачі функції зворотного виклику. Див. Використання функцій з параметрами для отримання додаткової інформації. |
def my_function():
brain.screen.print("Distance changed")
# Call my_function whenever distance_sensor's value changes
distance_sensor.changed(my_function)
Конструктор#
Конструктори використовуються для ручного створення об’єктів Distance , наприклад, під час налаштування датчика відстані поза VEXcode.
Distance#
Distance створює об’єкт Датчик відстані.
Usage:
Distance(smartport)
Параметр |
Опис |
|---|---|
|
Розумний порт, до якого підключено датчик відстані, записується як |
# Create a Distance Sensor in Port 10
distance_sensor = Distance(Ports.PORT10)