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.

El buscador de rango VEX EXP.

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

port

triport::port &

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 Brain.ThreeWirePort.X o ExpanderName.X ExpanderName.X donde X es la letra del puerto (por ejemplo, Brain.ThreeWirePort.A o Expander1.C).

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

Parameters

Esta función no acepta ningún parámetro.

Return Values

Devuelve 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.

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#

Devuelve la distancia medida al objeto más cercano detectado por el sensor.

Available Functions
double distance(
  distanceUnits units );

Parameters

Parámetro

Tipo

Descripción

units

distanceUnits

La unidad que representa la distancia: inches o mm — milímetros.

Return Values

Devuelve un double que representa la distancia en las unidades especificadas.

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);