Дальномер#

Введение#

Сонар класса sonar используется с ультразвуковым дальномером, который измеряет расстояние до ближайшего объекта с помощью звуковых волн. Он работает, посылая ультразвуковой импульс и измеряя время, необходимое для отражения звука.

Дальномер VEX EXP.

Конструктор класса#

sonar(
  triport::port &port);

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

Уничтожает объект sonar и освобождает связанные с ним ресурсы.

virtual ~sonar();

Параметры#

Параметр

Тип

Описание

port

triport::port &

Первый 3-проводной порт из требуемой двухпортовой группы, используемой дальномером. Дальномер занимает два смежных порта (A–B, C–D, E–F или G–H) либо на главном блоке управления, либо на 3-проводном расширителе. Укажите первый порт в паре (A, C, E или G), записав его как Brain.ThreeWirePort.X или ExpanderName.X , где X — буква порта (например, Brain.ThreeWirePort.A или Expander1.C).

Примеры#

// Create a sonar instance in Ports A and B
sonar RangeFinderA = sonar(Brain.ThreeWirePort.A);

Функции участников#

Класс sonar включает следующие функциональные возможности:

  • foundObject — Возвращает значение, указывающее, обнаружил ли Range Finder объект.

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

Перед вызовом любых функций-членов sonar необходимо создать экземпляр sonar , как показано ниже:

/* This constructor is required when using VS Code.
Range Finder configuration is generated automatically
in VEXcode using the Device Menu. Replace the values
as needed. */

// Create a sonar instance in Ports A and B
sonar RangeFinderA = sonar(Brain.ThreeWirePort.A);

foundObject#

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

Available Functions
bool foundObject();

Parameters

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

Return Values

Возвращает значение bool , указывающее, обнаружил ли Range Finder объект:

  • true — Дальномер обнаруживает объект.

  • false — Дальномер не обнаруживает объект.

Examples
// Check if an object is detected.
if (RangeFinderA.foundObject()){
    // Print to screen on the brain that an object was found.
    Brain.Screen.print("object found");
}

distance#

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

Available Functions
double distance(
  distanceUnits units );

Parameters

Параметр

Тип

Описание

units

distanceUnits

Единица измерения расстояния: inches или mm — миллиметра.

Return Values

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

Examples
// Get the Range Finder distance in millimeters.
double value = RangeFinderA.distance(mm);

// Print the current distance detected by the Range Finder to the
// Brain's screen.
Brain.Screen.print(value);