Датчик відстані#

Вступ#

Клас sonar сонару використовується з датчиком відстані VEX IQ (1-го покоління). Клас distance сонару використовується з датчиком відстані VEX IQ (2-го покоління).

Обидва датчики відстані можуть визначати, чи знаходиться об’єкт перед ним, і повертати інформацію про відстань до нього. Датчик відстані VEX IQ (2-го покоління) також може повертати відносну швидкість виявленого об’єкта та оцінювати, чи є об’єкт малим, середнім чи великим.

Конструктори класів#

1 — Цей конструктор створює датчик відстані VEX IQ (1-го покоління).

sonar(
    int32_t index);

2 — Цей конструктор створює датчик відстані VEX IQ (2-го покоління).

distance(
    int32_t index);

Деструктор класів#

Знищує об’єкт на відстані distance та звільняє пов’язані з ним ресурси.

1 — Знищує датчик відстані VEX IQ (1-го покоління).

~sonar();

2 — Знищує датчик відстані VEX IQ (2-го покоління).

~distance();

Параметри#

Параметр

Тип

Опис

index

int32_t

Розумний порт, до якого підключено датчик відстані, записується як PORTx, де x – номер порту (наприклад, PORT1).

Приклади#

1 — Створіть екземпляр датчика відстані VEX IQ (1-го покоління) у порту 1.

sonar Distance1 = sonar(PORT1);

2 — Створіть екземпляр датчика відстані VEX IQ (2-го покоління) у порту 1.

distance Distance1 = distance(PORT1);

Функції-члени#

Клас sonar містить такі функції-члени:

  • foundObject — Повертає, чи датчик відстані наразі виявляє об’єкт.

  • distance — Повертає відстань між датчиком відстані та найближчим виявленим об’єктом.

Клас distance включає такі функції-члени:

  • objectDistance — Повертає відстань між датчиком відстані та найближчим виявленим об’єктом.

  • objectVelocity — Повертає швидкість руху виявленого об’єкта до датчика відстані або від нього.

  • objectSize — Повертає приблизний розмір виявленого об’єкта.

  • isObjectDetected — Повертає, чи виявляє датчик відстані об’єкт на даний момент.

  • changed — Реєструє функцію зворотного виклику, яка виконується, коли змінюється виявлене значення відстані.

  • installed — Повертає, чи встановлено та підключено датчик відстані.

Перед викликом будь-яких функцій-членів sonar , distance або необхідно створити екземпляр sonar , distance або , як показано нижче:

/* This constructor is required when using VS Code.
Distance Sensor configuration is generated automatically
in VEXcode using the Device Menu. Replace the values
as needed. */

// Create a VEX IQ Distance Sensor (2nd gen) instance in Port 1
distance Distance1 = distance(PORT1);

foundObject#

Повертає, чи датчик відстані наразі виявляє об’єкт.

Available Functions
bool foundObject();

Parameters

Ця функція не приймає жодних параметрів.

Return Values

Повертає логічне значення, яке вказує, чи виявляє датчик відстані об’єкт:

  • true — The Distance Sensor detects an object.
  • false — The Distance Sensor does not detect an object.
Notes - This is a VEX IQ Distance Sensor (1st gen) function.

distance#

Повертає відстань між датчиком відстані та найближчим виявленим об’єктом.

Available Functions
double distance( distanceUnits units );

Parameters

Параметр

Тип

Опис

units

distanceUnits

Одиниця вимірювання відстані:

  • mm — міліметри (від 24 мм до 1000 мм)
  • cm — сантиметри (від 2,4 см до 100 см)
  • inches — дюйми (від 1 дюйма до 40 дюймів)

Return Values

Повертає значення double , що представляє відстань між датчиком відстані та найближчим виявленим об’єктом у заданих одиницях вимірювання.

Notes - This is a VEX IQ Distance Sensor (1st gen) function.

objectDistance#

Повертає відстань між датчиком відстані та найближчим виявленим об’єктом.

Available Functions
double objectDistance( distanceUnits units );

Parameters

Параметр

Тип

Опис

units

distanceUnits

Одиниця вимірювання відстані:

  • mm — міліметри (від 20 мм до 2000 мм)
  • cm — сантиметри (від 2 см до 200 см)
  • inches — дюйми (від 0,78 дюйма до 78 дюймів)

Return Values

Повертає значення double , що представляє відстань між датчиком відстані та найближчим виявленим об’єктом у заданих одиницях вимірювання.

Notes - This is a VEX IQ Distance Sensor (2nd gen) function.

objectVelocity#

Повертає відносну швидкість виявленого об’єкта.

Швидкість показує, як швидко об’єкт рухається до датчика відстані або від нього. Значення близьке до 0 означає, що об’єкт не рухається суттєво відносно датчика.

Available Functions
double objectVelocity();

Parameters

Ця функція не приймає жодних параметрів.

Return Values

Повертає значення double , що представляє відносну швидкість виявленого об’єкта в м/с (метрах за секунду).

Notes - This is a VEX IQ Distance Sensor (2nd gen) function.

objectSize#

Повертає приблизний розмір об’єкта, виявленого датчиком відстані.

Датчик відстані оцінює розмір об’єкта на основі того, яку частину поля зору датчика займає виявлений об’єкт.

Available Functions
sizeType objectSize();

Parameters

Ця функція не приймає жодних параметрів.

Return Values

Повертає значення sizeType , що вказує на приблизний розмір виявленого об’єкта:

  • none — No object is detected.
  • small — A small object is detected.
  • medium — A medium object is detected.
  • large — A large object is detected.
Notes - This is a VEX IQ Distance Sensor (2nd gen) function.

isObjectDetected#

Повертає, чи датчик відстані наразі виявляє об’єкт.

Available Functions
bool isObjectDetected();

Parameters

Ця функція не приймає жодних параметрів.

Return Values

Повертає логічне значення, яке вказує, чи виявляє датчик відстані об’єкт:

  • true — The Distance Sensor detects an object.
  • false — The Distance Sensor does not detect an object.
Notes - This is a VEX IQ Distance Sensor (2nd gen) function.

changed#

Реєструє функцію зворотного виклику, яка виконується, коли змінюється виявлене значення відстані.

Available Functions
void changed( void (* callback)(void) );

Parameters

Параметр

Тип

Опис

callback

void (*)(void)

Вказівник на функцію, яка буде викликана при зміні виявленого значення відстані. Функція не повинна приймати параметрів та повертати void.

Return Values

Ця функція не повертає значення.

Notes - This is a VEX IQ Distance Sensor (1st gen) or (2nd gen) function.

installed#

Повертає інформацію про те, чи встановлено та підключено датчик відстані.

Available Functions
bool installed();

Parameters

Ця функція не приймає жодних параметрів.

Return Values

Повертає логічне значення, яке вказує, чи встановлено та підключено датчик відстані:

  • true — The Distance Sensor is installed and connected.
  • false — The Distance Sensor is not installed or not connected.
Notes - This is a VEX IQ Distance Sensor (1st gen) or (2nd gen) function.