Датчик расстояния#
Введение#
Класс distance используется для управления и доступа к данным от датчика расстояния.
Датчик расстояния может определять, находится ли объект перед ним, и показывать расстояние до него. Он также может определять относительную скорость обнаруженного объекта и оценивать его размер: малый, средний или большой.
Датчик расстояния работает в диапазоне от 20 мм до 2000 мм.
При фокусном расстоянии менее 200 мм точность составляет приблизительно ±15 мм. При фокусном расстоянии более 200 мм точность повышается примерно до 5%.
Датчик расстояния использует лазер класса 1. Обнаружение направлено прямо вперед и безопасно для использования в классе.
Конструкторы классов#
distance( int32_t index );
Деструктор класса#
Уничтожает объект, находящийся на расстоянии distance , и освобождает связанные с ним ресурсы.
~distance();
Параметры#
Параметр |
Тип |
Описание |
|---|---|---|
|
|
Интеллектуальный порт, к которому подключен датчик расстояния, обозначается как |
Примеры#
// 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 Functionsdouble objectDistance( distanceUnits units );
Параметр |
Тип |
Описание |
|---|---|---|
|
|
Единицы измерения расстояния:
|
Возвращает значение типа 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.
objectVelocity#
Возвращает относительную скорость обнаруженного объекта.
Скорость показывает, насколько быстро объект движется к датчику расстояния или от него. Значение, близкое к 0, означает, что объект движется незначительно относительно датчика.
Available Functionsdouble objectVelocity();
Эта функция не принимает никаких параметров.
Return ValuesВозвращает значение типа double представляющее относительную скорость обнаруженного объекта в м/с (метрах в секунду).
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) );
Параметр |
Тип |
Описание |
|---|---|---|
|
|
Указатель на функцию, которая будет вызываться при изменении обнаруженного значения расстояния. Функция не должна принимать параметров и возвращать |
Эта функция не возвращает значения.
installed#
Возвращает значение, указывающее, установлен и подключен ли датчик расстояния.
Available Functionsbool installed();
Эта функция не принимает никаких параметров.
Return ValuesВозвращает логическое значение, указывающее, установлен ли и подключен ли датчик расстояния:
-
true— The Distance Sensor is installed and connected. -
false— The Distance Sensor is not installed or not connected.