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

Введение#

Сонар класса 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();

Параметры#

Параметр

Тип

Описание

index

int32_t

Интеллектуальный порт, к которому подключен датчик расстояния, обозначается как PORTx, где x — номер порта (например, PORT1).

Примеры#

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 Functions
bool foundObject();

Parameters

Эта функция не принимает никаких параметров.

Return Values

Возвращает логическое значение, указывающее, обнаружил ли датчик расстояния объект:

  • true — The Distance Sensor detects an object.
  • false — The Distance Sensor does not detect an object.
Notes - This is a VEX IQ Distance Sensor (1st gen) function.

distance#

Возвращает расстояние между датчиком расстояния и ближайшим обнаруженным объектом.

Available Functions
double distance( distanceUnits units );

Parameters

Параметр

Тип

Описание

units

distanceUnits

Единицы измерения расстояния:

  • mm — миллиметры (от 24 мм до 1000 мм)
  • cm — сантиметры (от 2,4 см до 100 см)
  • inches — дюймы (от 1 дюйма до 40 дюймов)

Return Values

Возвращает значение типа double представляющее расстояние между датчиком расстояния и ближайшим обнаруженным объектом в указанных единицах измерения.

Notes - This is a VEX IQ Distance Sensor (1st gen) function.

objectDistance#

Возвращает расстояние между датчиком расстояния и ближайшим обнаруженным объектом.

Available Functions
double objectDistance( distanceUnits units );

Parameters

Параметр

Тип

Описание

units

distanceUnits

Единицы измерения расстояния:

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

Return Values

Возвращает значение типа double представляющее расстояние между датчиком расстояния и ближайшим обнаруженным объектом в указанных единицах измерения.

Notes - This is a VEX IQ Distance Sensor (2nd gen) function.

objectVelocity#

Возвращает относительную скорость обнаруженного объекта.

Скорость показывает, насколько быстро объект движется к датчику расстояния или от него. Значение, близкое к 0, означает, что объект движется незначительно относительно датчика.

Available Functions
double objectVelocity();

Parameters

Эта функция не принимает никаких параметров.

Return Values

Возвращает значение типа double представляющее относительную скорость обнаруженного объекта в м/с (метрах в секунду).

Notes - This is a VEX IQ Distance Sensor (2nd gen) function.

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.
Notes - This is a VEX IQ Distance Sensor (2nd gen) function.

isObjectDetected#

Возвращает значение, указывающее, обнаруживает ли датчик расстояния в данный момент объект.

Available Functions
bool isObjectDetected();

Parameters

Эта функция не принимает никаких параметров.

Return Values

Возвращает логическое значение, указывающее, обнаружил ли датчик расстояния объект:

  • true — The Distance Sensor detects an object.
  • false — The Distance Sensor does not detect an object.
Notes - This is a VEX IQ Distance Sensor (2nd gen) function.

changed#

Регистрирует функцию обратного вызова, которая запускается при изменении обнаруженного значения расстояния.

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

Parameters

Параметр

Тип

Описание

callback

void (*)(void)

Указатель на функцию, которая будет вызываться при изменении обнаруженного значения расстояния. Функция не должна принимать параметров и возвращать void.

Return Values

Эта функция не возвращает значения.

Notes - This is a VEX IQ Distance Sensor (1st gen) or (2nd gen) function.

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.
Notes - This is a VEX IQ Distance Sensor (1st gen) or (2nd gen) function.