Датчик расстояния#
Введение#
Датчик расстояния может определять, находится ли объект перед ним, и показывать расстояние до него. Он также может определять относительную скорость обнаруженного объекта и оценивать его размер: малый, средний или большой.
Датчик расстояния работает в диапазоне от 20 мм до 2000 мм.
При фокусном расстоянии менее 200 мм точность составляет приблизительно ±15 мм. При фокусном расстоянии более 200 мм точность повышается примерно до 5%.
Датчик расстояния использует лазер класса 1. Обнаружение направлено прямо вперед и безопасно для использования в классе.

На этой странице в качестве примера имени датчика расстояния используется distance_sensor При необходимости замените его на собственное имя.
Ниже приведён список доступных методов:
object_distance— Возвращает расстояние между датчиком расстояния и ближайшим обнаруженным объектом.object_velocity— Возвращает скорость движения обнаруженного объекта к датчику расстояния или от него.object_size— Возвращает приблизительный размер обнаруженного объекта.is_object_detected— Возвращает значение, указывающее, обнаруживает ли датчик расстояния в данный момент объект.changed— Регистрирует функцию, которая будет выполняться всякий раз, когда изменяется значение датчика расстояния.
Конструктор — Инициализация датчика расстояния вручную.
Distance— Создает датчик расстояния.
объект_расстояние#
object_distance возвращает расстояние между датчиком расстояния и ближайшим обнаруженным объектом в виде десятичного числа (float).
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#
object_velocity возвращает относительную скорость обнаруженного объекта в виде десятичного числа (float) в м/с (метрах в секунду).
Скорость показывает, насколько быстро объект движется к датчику расстояния или от него. Значение, близкое к 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#
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 создает объект Distance Sensor.
Usage:
Distance(smartport)
Параметр |
Описание |
|---|---|
|
Интеллектуальный порт, к которому подключен датчик расстояния, обозначается как |
# Create a Distance Sensor in Port 10
distance_sensor = Distance(Ports.PORT10)