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