Датчик відстані#
Вступ#
Клас 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();
Параметри#
Параметр |
Тип |
Опис |
|---|---|---|
|
|
Розумний порт, до якого підключено датчик відстані, записується як |
Приклади#
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 Functionsbool foundObject();
Ця функція не приймає жодних параметрів.
Return ValuesПовертає логічне значення, яке вказує, чи виявляє датчик відстані об’єкт:
-
true— The Distance Sensor detects an object. -
false— The Distance Sensor does not detect an object.
distance#
Повертає відстань між датчиком відстані та найближчим виявленим об’єктом.
Available Functionsdouble distance( distanceUnits units );
Параметр |
Тип |
Опис |
|---|---|---|
|
|
Одиниця вимірювання відстані:
|
Повертає значення double , що представляє відстань між датчиком відстані та найближчим виявленим об’єктом у заданих одиницях вимірювання.
objectDistance#
Повертає відстань між датчиком відстані та найближчим виявленим об’єктом.
Available Functionsdouble objectDistance( distanceUnits units );
Параметр |
Тип |
Опис |
|---|---|---|
|
|
Одиниця вимірювання відстані:
|
Повертає значення double , що представляє відстань між датчиком відстані та найближчим виявленим об’єктом у заданих одиницях вимірювання.
objectVelocity#
Повертає відносну швидкість виявленого об’єкта.
Швидкість показує, як швидко об’єкт рухається до датчика відстані або від нього. Значення близьке до 0 означає, що об’єкт не рухається суттєво відносно датчика.
Available Functionsdouble objectVelocity();
Ця функція не приймає жодних параметрів.
Return ValuesПовертає значення double , що представляє відносну швидкість виявленого об’єкта в м/с (метрах за секунду).
objectSize#
Повертає приблизний розмір об’єкта, виявленого датчиком відстані.
Датчик відстані оцінює розмір об’єкта на основі того, яку частину поля зору датчика займає виявлений об’єкт.
Available FunctionssizeType objectSize();
Ця функція не приймає жодних параметрів.
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.
isObjectDetected#
Повертає, чи датчик відстані наразі виявляє об’єкт.
Available Functionsbool isObjectDetected();
Ця функція не приймає жодних параметрів.
Return ValuesПовертає логічне значення, яке вказує, чи виявляє датчик відстані об’єкт:
-
true— The Distance Sensor detects an object. -
false— The Distance Sensor does not detect an object.
changed#
Реєструє функцію зворотного виклику, яка виконується, коли змінюється виявлене значення відстані.
Available Functionsvoid changed( void (* callback)(void) );
Параметр |
Тип |
Опис |
|---|---|---|
|
|
Вказівник на функцію, яка буде викликана при зміні виявленого значення відстані. Функція не повинна приймати параметрів та повертати |
Ця функція не повертає значення.
Notes - This is a VEX IQ Distance Sensor (1st gen) or (2nd gen) function.installed#
Повертає інформацію про те, чи встановлено та підключено датчик відстані.
Available Functionsbool installed();
Ця функція не приймає жодних параметрів.
Return ValuesПовертає логічне значення, яке вказує, чи встановлено та підключено датчик відстані:
-
true— The Distance Sensor is installed and connected. -
false— The Distance Sensor is not installed or not connected.