Sensor de distancia#
Introducción#
La clase sonar se utiliza con el sensor de distancia VEX IQ (1.ª generación). La clase distance se utiliza con el sensor de distancia VEX IQ (2.ª generación).
Ambos sensores de distancia pueden detectar si un objeto está frente al sensor y devolver qué tan lejos está ese objeto. El sensor de distancia VEX IQ (2 .ª generación) también puede devolver la velocidad relativa del objeto detectado y estimar si el objeto es pequeño, mediano o grande.
Constructores de clase#
1 — Este constructor crea un sensor de distancia VEX IQ (1ª generación).
sonar( int32_t index);
2 — Este constructor crea un sensor de distancia VEX IQ (2ª generación).
distance( int32_t index);
Destructor de clase#
Destruye el objeto de distancia distance y libera los recursos asociados.
1 — Destruye un sensor de distancia VEX IQ (1ª generación).
~sonar();
2 — Destruye un sensor de distancia VEX IQ (2 .ª generación).
~distance();
Parámetros#
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
|
El puerto inteligente al que está conectado el sensor de distancia, escrito como |
Ejemplos#
1 — Crear una instancia del sensor de distancia VEX IQ (1 .ª generación) en el puerto 1.
sonar Distance1 = sonar(PORT1);
2 — Crear una instancia del sensor de distancia VEX IQ (2 .ª generación) en el puerto 1.
distance Distance1 = distance(PORT1);
Funciones de los miembros#
La clase de sonar incluye las siguientes funciones de miembro:
foundObject— Devuelve si el sensor de distancia detecta actualmente un objeto.distance— Devuelve la distancia entre el sensor de distancia y el objeto detectado más cercano.
La clase de distancia distance incluye las siguientes funciones miembro:
objectDistance— Devuelve la distancia entre el sensor de distancia y el objeto detectado más cercano.objectVelocity: devuelve la rapidez con la que el objeto detectado se acerca o se aleja del sensor de distancia.objectSize— Devuelve el tamaño estimado del objeto detectado.isObjectDetected— Devuelve si el sensor de distancia detecta actualmente un objeto.changed: registra una función de devolución de llamada que se ejecuta cuando cambia el valor de la distancia detectada.installed— Devuelve si el sensor de distancia está instalado y conectado.
Before calling any distance or sonar member functions, a distance or sonar instance must be created, as shown below:
/* This constructor is required when using VS Code.
Distance Sensor configuration is generated automatically
in VEXcode using the Device Menu. Replace the values
as needed. */
// Create a VEX IQ Distance Sensor (2nd gen) instance in Port 1
distance Distance1 = distance(PORT1);
foundObject#
Devuelve si el sensor de distancia detecta actualmente un objeto.
Available Functionsbool foundObject();
Esta función no toma ningún parámetro.
Return ValuesDevuelve un booleano que indica si el sensor de distancia detecta un objeto:
-
true— The Distance Sensor detects an object. -
false— The Distance Sensor does not detect an object.
distance#
Devuelve la distancia entre el sensor de distancia y el objeto detectado más cercano.
Available Functionsdouble distance( distanceUnits units );
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
|
La unidad de distancia:
|
Devuelve un double que representa la distancia entre el sensor de distancia y el objeto detectado más cercano en las unidades especificadas.
objectDistance#
Devuelve la distancia entre el sensor de distancia y el objeto detectado más cercano.
Available Functionsdouble objectDistance( distanceUnits units );
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
|
La unidad de distancia:
|
Devuelve un double que representa la distancia entre el sensor de distancia y el objeto detectado más cercano en las unidades especificadas.
objectVelocity#
Devuelve la velocidad relativa del objeto detectado.
La velocidad muestra la rapidez con la que el objeto se acerca o se aleja del sensor de distancia. Un valor cercano a 0 significa que el objeto no se está moviendo mucho en relación con el sensor.
Available Functionsdouble objectVelocity();
Esta función no toma ningún parámetro.
Return ValuesDevuelve un double que representa la velocidad relativa del objeto detectado en m/s (metros por segundo).
objectSize#
Devuelve el tamaño estimado del objeto detectado por el sensor de distancia.
El sensor de distancia estima el tamaño del objeto en función de la cantidad de vista del sensor que ocupa el objeto detectado.
Available FunctionssizeType objectSize();
Esta función no toma ningún parámetro.
Return ValuesDevuelve un sizeType que indica el tamaño estimado del objeto detectado:
-
none— No object is detected. -
small— A small object is detected. -
medium— A medium object is detected. -
large— A large object is detected.
isObjectDetected#
Devuelve si el sensor de distancia detecta actualmente un objeto.
Available Functionsbool isObjectDetected();
Esta función no toma ningún parámetro.
Return ValuesDevuelve un booleano que indica si el sensor de distancia detecta un objeto:
-
true— The Distance Sensor detects an object. -
false— The Distance Sensor does not detect an object.
changed#
Registra una función de devolución de llamada que se ejecuta cuando cambia el valor de distancia detectado.
Available Functionsvoid changed( void (* callback)(void) );
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
|
Un puntero a una función que se llamará cuando cambie el valor de la distancia detectada. La función no debe tomar parámetros y devolver |
Esta función no devuelve un valor.
Notes - This is a VEX IQ Distance Sensor (1st gen) or (2nd gen) function.installed#
Devuelve si el sensor de distancia está instalado y conectado.
Available Functionsbool installed();
Esta función no toma ningún parámetro.
Return ValuesDevuelve un booleano que indica si el sensor de distancia está instalado y conectado:
-
true— The Distance Sensor is installed and connected. -
false— The Distance Sensor is not installed or not connected.