Buscador de rango#
Introducción#
La clase de sonar se utiliza con el telémetro ultrasónico, que mide la distancia al objeto más cercano mediante ondas sonoras. Funciona enviando un pulso ultrasónico y midiendo el tiempo que tarda el sonido en recuperarse.

Constructor de clases#
sonar(
triport::port &port);
Destructor de clase#
Destruye el objeto del sonar y libera los recursos asociados.
virtual ~sonar();
Parámetros#
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
|
El primer puerto de 3 cables de un grupo de dos puertos requerido utilizado por el telémetro. El telémetro ocupa dos puertos adyacentes (A–B, C–D, E–F o G–H) en el cerebro o en un expansor de 3 hilos. Especifique el primer puerto del par (A, C, E o G), escrito como Brain.ThreeWirePort.X |
Ejemplos#
// Create a sonar instance in Ports A and B
sonar RangeFinderA = sonar(Brain.ThreeWirePort.A);
Funciones de los miembros#
La clase de sonar incluye las siguientes funciones de miembro:
foundObject— Devuelve si el buscador de rango detecta un objeto.distance— Devuelve la distancia entre el telémetro y el objeto detectado más cercano.
Antes de llamar a sonar miembro de sonar instancia de sonar, como se muestra a continuación:
/* 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#
Devuelve si el telémetro detecta un objeto dentro de su campo de visión.
Available Functionsbool foundObject();
Esta función no acepta ningún parámetro.
Return ValuesDevuelve un bool que representa si el Range Finder detecta un objeto:
true— El Range Finder está detectando un objeto.false— El telémetro no está detectando un objeto.
// 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#
Devuelve la distancia medida al objeto más cercano detectado por el sensor.
Available Functionsdouble distance(
distanceUnits units );
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
|
La unidad que representa la distancia: |
Devuelve un double que representa la distancia en las unidades especificadas.
// 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);