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

Un Puerto inteligente válido al que está conectado el telémetro.

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

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.

objetoDetectado()#

El comando objectDetected(callback) llama a una función cuando el telémetro detecta un objeto.

Parámetros

Descripción

llamar de vuelta

Una referencia a una función a llamar cuando se detecta un objeto.

Devoluciones: Ninguna.

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

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

  // Run detected when the Range Finder detect an object.
  Sonar.objectDetected(detected);
}

cambió()#

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

marca de tiempo()#

El método timestamp() solicita la marca de tiempo del último paquete de estado recibido del telémetro.

Devuelve: Marca de tiempo del último paquete de estado como un entero de 32 bits sin signo en milisegundos.

instalado()#

El comando installed() regresa si el telémetro está instalado.

Devuelve: true si el telémetro está instalado. false si no lo está.