Відстань#
Вступ#
Датчик відстані може визначити, чи знаходиться об’єкт перед ним, і повернути інформацію про відстань до нього.
Датчик відстані VEX IQ (1-го покоління) використовує сонар для виявлення об’єктів та вимірювання відстані. Датчик відстані VEX IQ (2-го покоління) використовує лазер, безпечний для використання в класі, а також може видавати відносну швидкість виявленого об’єкта та оцінювати, чи є об’єкт малим, середнім чи великим.
На цій сторінці як приклад назви датчика відстані використовується distance_1 За потреби замініть її власною налаштованою назвою.
Нижче наведено список усіх доступних методів:
Геттери — Повертають дані з датчика відстані.
is_object_detected— (VEX IQ Distance Sensor (1-го покоління) або (2-го покоління)) Повертає, чи виявляє датчик відстані об’єкт на даний момент.distance— (VEX IQ Датчик відстані (1-го покоління)) Повертає відстань між датчиком відстані та найближчим виявленим об’єктом.object_distance— (VEX IQ Distance Sensor (2-го покоління)) Повертає відстань між датчиком відстані та найближчим виявленим об’єктом.object_velocity— (VEX IQ Distance Sensor (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 повертає відстань між датчиком відстані та найближчим виявленим об’єктом у вигляді десяткового числа (число з плаваючою комою).
Примітка: Це метод датчика відстані 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 повертає відстань між датчиком відстані та найближчим виявленим об’єктом у вигляді десяткового числа (число з плаваючою комою).
Примітка: Це метод датчика відстані 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 повертає відносну швидкість виявленого об’єкта у вигляді десяткового числа (число з плаваючою комою) у м/с (метрах за секунду).
Швидкість показує, як швидко об’єкт рухається до датчика відстані або від нього. Додатне значення означає, що об’єкт рухається до датчика відстані. Від’ємне значення означає, що об’єкт віддаляється. Значення близьке до 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 (1-го покоління).
Usage:
distance_1 = Sonar(smartport)
Параметр |
Опис |
|---|---|
|
Розумний порт, до якого підключено датчик відстані, записується як |
# Create a Sonar object in Port 1
distance_1 = Sonar(Ports.PORT1)
Distance#
Distance створює об’єкт датчика відстані VEX IQ (2-го покоління).
Usage:
distance_1 = Distance(smartport)
Параметр |
Опис |
|---|---|
|
Розумний порт, до якого підключено датчик відстані, записується як |
# Create a Distance object in Port 1
distance_1 = Distance(Ports.PORT1)