Датчик расстояния#

Введение#

Класс 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.