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

Вступ#

Клас distance використовується для керування та доступу до даних з датчика відстані.

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

Датчик відстані працює в діапазоні від 20 мм до 2000 мм.

Нижче 200 мм точність становить приблизно ±15 мм. Вище 200 мм точність покращується приблизно до 5%.

Датчик відстані використовує лазер класу 1. Виявлення спрямоване прямо вперед і безпечне для використання в класі.

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

distance( int32_t  index );

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

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

~distance();

Параметри#

Параметр

Тип

Опис

index

int32_t

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

Приклади#

// Create a Distance Sensor instance in Port 1
distance Distance1 = distance(PORT1);

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

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

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

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

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

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

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

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

Перед викликом будь-яких функцій-членів з відстанню distance необхідно створити екземпляр з відстанню 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 Distance Sensor instance in Port 1
distance Distance1 = distance(PORT1);

objectDistance#

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

Available Functions
double objectDistance( distanceUnits units );

Parameters

Параметр

Тип

Опис

units

distanceUnits

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

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

Return Values

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

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.

objectVelocity#

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

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

Available Functions
double objectVelocity();

Parameters

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

Return Values

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

isObjectDetected#

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

Available Functions
bool isObjectDetected();

Parameters

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

Return Values

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

  • true — The Distance Sensor detects an object.
  • false — The Distance Sensor does not detect an object.

changed#

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

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

Parameters

Параметр

Тип

Опис

callback

void (*)(void)

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

Return Values

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

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.