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

Конструктор класса#
sonar(
triport::port &port);
Деструктор класса#
Уничтожает объект sonar и освобождает связанные с ним ресурсы.
virtual ~sonar();
Параметры#
Параметр |
Тип |
Описание |
|---|---|---|
|
|
Первый 3-проводной порт из требуемой двухпортовой группы, используемой дальномером. Дальномер занимает два смежных порта (A–B, C–D, E–F или G–H) либо на главном блоке управления, либо на 3-проводном расширителе. Укажите первый порт в паре (A, C, E или G), записав его как |
Примеры#
// 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 Functionsbool foundObject();
Эта функция не принимает никаких параметров.
Return ValuesВозвращает значение bool , указывающее, обнаружил ли Range Finder объект:
true— Дальномер обнаруживает объект.false— Дальномер не обнаруживает объект.
// 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 Functionsdouble distance(
distanceUnits units );
Параметр |
Тип |
Описание |
|---|---|---|
|
|
Единица измерения расстояния: |
Возвращает значение типа double представляющее расстояние в указанных единицах.
// 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);