Расстояние#
Введение#
Датчик расстояния может определять, находится ли объект перед ним, и сообщать, на каком расстоянии этот объект находится.
Датчик расстояния VEX IQ (1-го поколения) использует сонар для обнаружения объектов и измерения расстояния. Датчик расстояния VEX IQ (2-го поколения) использует безопасный для использования в классе лазер и может также определять относительную скорость обнаруженного объекта и оценивать, является ли объект маленьким, средним или большим.
На этой странице в качестве примера имени датчика расстояния используется distance_1 При необходимости замените его на собственное настроенное имя.
Ниже приведён список всех доступных методов:
Геттеры — возвращают данные с датчика расстояния.
is_object_detected— (Датчик расстояния VEX IQ (1-го поколения) или (2-го поколения)) Возвращает, обнаруживает ли датчик расстояния в данный момент объект.distance— (Датчик расстояния VEX IQ (1-го поколения)) Возвращает расстояние между датчиком расстояния и ближайшим обнаруженным объектом.object_distance— (Датчик расстояния VEX IQ (2-го поколения)) Возвращает расстояние между датчиком расстояния и ближайшим обнаруженным объектом.object_velocity— (Датчик расстояния VEX IQ (2-го поколения)) Возвращает скорость движения обнаруженного объекта к датчику расстояния или от него.object_size— (Датчик расстояния VEX IQ (2-го поколения)) Возвращает приблизительный размер обнаруженного объекта.installed— (Датчик расстояния VEX IQ (1-го поколения) или (2-го поколения)) Возвращает, установлен ли и подключен ли датчик расстояния.
Конструкторы — Вручную инициализируют и настраивают датчик расстояния.
Геттеры#
is_object_detected#
is_object_detected возвращает значение, указывающее, обнаруживает ли датчик расстояния в данный момент объект в пределах досягаемости.
True— Датчик расстояния обнаруживает объект.False— Датчик расстояния не обнаруживает объект.
Usage:
distance_1.is_object_detected()
Параметры |
Описание |
|---|---|
Этот метод не имеет параметров. |
# Turn until an object is detected
drivetrain.turn(RIGHT)
while not distance_1.is_object_detected():
wait(15, MSEC)
drivetrain.stop()
brain.screen.print("Object detected!")
distance#
Параметр distance возвращает расстояние между датчиком расстояния и ближайшим обнаруженным объектом в виде десятичного числа (float).
Примечание: Это метод измерения расстояния с помощью датчика VEX IQ (1-го поколения).
Usage:
distance_1.distance(units)
Параметры |
Описание |
|---|---|
|
Дополнительно. Единица измерения расстояния: |
# Display the distance to an object
if distance_1.is_object_detected():
print("Distance: ")
print(distance_1.distance(MM))
else:
print("No object detected")
object_distance#
object_distance возвращает расстояние между датчиком расстояния и ближайшим обнаруженным объектом в виде десятичного числа (float).
Примечание: Это метод измерения расстояния с помощью датчика расстояния VEX IQ (2-го поколения).
Usage:
distance_1.object_distance(units)
Параметры |
Описание |
|---|---|
|
Дополнительно. Единица измерения расстояния: |
# Drive forward until an object is 200 mm away
while distance_1.object_distance(MM) > 200:
drivetrain.drive(FORWARD)
drivetrain.stop()
object_velocity#
object_velocity возвращает относительную скорость обнаруженного объекта в виде десятичного числа (float) в м/с (метрах в секунду).
Скорость показывает, насколько быстро объект движется к датчику расстояния или от него. Положительное значение означает, что объект движется к датчику расстояния. Отрицательное значение означает, что объект движется от него. Значение, близкое к 0, означает, что объект движется относительно датчика незначительно.
Примечание: Это метод измерения расстояния с помощью датчика расстояния VEX IQ (2-го поколения).
Usage:
distance_1.object_velocity()
Параметры |
Описание |
|---|---|
Этот метод не имеет параметров. |
# Display the velocity of a moving object
while True:
brain.screen.clear_screen()
brain.screen.set_cursor(1, 1)
brain.screen.print("Velocity: ")
brain.screen.print(distance_1.object_velocity())
wait(100, MSEC)
object_size#
object_size возвращает приблизительный размер объекта, обнаруженного датчиком расстояния.
Датчик расстояния оценивает размер объекта на основе того, какая часть поля зрения датчика занята обнаруженным объектом.
ObjectSizeType.NONE— Объект не обнаружен.ObjectSizeType.SMALL— Обнаружен небольшой объект.ObjectSizeType.MEDIUM— Обнаружен объект среднего размера.ObjectSizeType.LARGE— Обнаружен крупный объект.
Примечание: Это метод измерения расстояния с помощью датчика расстояния VEX IQ (2-го поколения).
Usage:
distance_1.object_size()
Параметры |
Описание |
|---|---|
Этот метод не имеет параметров. |
installed#
installed возвращает значение, указывающее, установлен и подключен датчик расстояния.
True— Датчик расстояния установлен и подключен.False— Датчик расстояния не установлен или не подключен.
Usage:
distance_1.installed()
Параметры |
Описание |
|---|---|
Этот метод не имеет параметров. |
Строители#
Конструкторы используются для ручного создания объектов Distance и Sonar , например, при настройке датчика расстояния вне VEXcode.
Sonar#
Sonar создает объект VEX IQ Distance Sensor (1-го поколения).
Usage:
distance_1 = Sonar(smartport)
Параметр |
Описание |
|---|---|
|
Интеллектуальный порт, к которому подключен датчик расстояния, обозначается как |
# Create a Sonar object in Port 1
distance_1 = Sonar(Ports.PORT1)
Distance#
Distance создает объект VEX IQ Distance Sensor (2nd gen).
Usage:
distance_1 = Distance(smartport)
Параметр |
Описание |
|---|---|
|
Интеллектуальный порт, к которому подключен датчик расстояния, обозначается как |
# Create a Distance object in Port 1
distance_1 = Distance(Ports.PORT1)