Датчик расстояния#

Введение#

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

Датчик расстояния работает в диапазоне от 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)

Параметры

Описание

units

Дополнительно. Единица измерения расстояния: MM (по умолчанию, от 20 мм до 2000 мм) или INCHES (от 0,78 дюйма до 78,74 дюйма).

# 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)

Параметры

Описание

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)

Параметр

Описание

smartport

Интеллектуальный порт, к которому подключен датчик расстояния, обозначается как Ports.PORTx, где x — номер порта.

# Create a Distance Sensor in Port 10
distance_sensor = Distance(Ports.PORT10)