sonar#

Inicializando la clase de sonar#

Un telémetro se crea utilizando el siguiente constructor:

El constructor sonar crea un objeto sonar en el puerto de tres cables especificado.

Parámetro

Descripción

puerto

El par de puertos de 3 cables al que está conectado el telémetro, ya sea un puerto del Brain o un Expansor de 3 cables.
Nota: Un telémetro utiliza dos puertos de 3 cables adyacentes. Estos pares son A/B, C/D, E/F y G/H. Al introducir el par como argumento, utilice la primera letra del par; por ejemplo, Brain.ThreeWirePort.A se refiere al par a/b.

Primero se debe crear un Brain o un 3-Wire Expander antes de poder usarlos para crear un objeto con el constructor de clase sonar.

// Create the Brain.
brain Brain;
// Construct a Range Finder "Sonar" with the
// sonar class.
sonar Sonar = sonar(Brain.ThreeWirePort.A);

Este objeto “Sonar” se utilizará en todos los ejemplos posteriores a lo largo de esta documentación de API cuando se haga referencia a los métodos de la clase sonar.

Métodos de clase#

distancia()#

El método distance(units) devuelve la distancia actual que el telémetro detecta sobre el objeto. El telémetro devolverá un número positivo grande si no se detecta ningún objeto dentro del rango.

Parámetros

Descripción

unidades

Una unidad de distancia válida.

Devuelve: Un doble que representa la distancia medida por el telémetro.

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

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

objeto encontrado()#

El método foundObject() comprueba si el telémetro detecta un objeto en el rango de 0 a 1000 milímetros. El telémetro devolverá el valor true si el objeto se detecta a menos de 1000 mm.

Devuelve: true si el telémetro detecta un objeto. false si no lo detecta.

// Check if an object is 1000mm or closer to the Range Finder.
if (Sonar.foundObject()){
    // Print to screen on the brain that an object was found.
    Brain.Screen.print("object found");
}

establecerMáximo()#

El método setMaximum(distance, units) establece la distancia máxima para la cual el método foundObject() devolverá true.

Parámetros

Descripción

distancia

Un doble que representa la distancia máxima a la que el telémetro encontrará objetos.

unidades

Una unidad de distancia válida.

Devoluciones: Ninguna.

cambió()#

El método changed(callback) ejecuta una función de devolución de llamada cuando cambia el valor del telémetro.

Parámetros

Descripción

llamar de vuelta

Una función de devolución de llamada para ejecutarse cuando cambia el valor del telémetro.

Devoluciones: Ninguna.

// Define the sonarChanged function with a void return type,
// showing it doesn't return a value.
void sonarChanged() {
  // The Brain will print that the value detected by the
  // Range Finder changed on the Brain's screen.
  Brain.Screen.print("Range Finder value changed");
}

int main() {
  // Initializing Robot Configuration. DO NOT REMOVE!
  vexcodeInit();

  // Run sonarChanged when the value of the
  // Range Finder changes.
  Sonar.changed(sonarChanged);
}