Датчик расстояния#
Введение#
Сонар класса 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— Возвращает значение, указывающее, установлен ли и подключен ли датчик расстояния.
Before calling any distance or sonar member functions, a distance or sonar instance must be created, as shown below:
/* 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.