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

index

int32_t

El puerto inteligente al que está conectado el sensor de distancia, escrito como PORTx, donde x es el número de puerto (por ejemplo, PORT1).

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 sonar incluye las siguientes funciones 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 mueve hacia o desde el 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 distancia detectado.

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

Parameters

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

Return Values

Devuelve 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.
Notes - This is a VEX IQ Distance Sensor (1st gen) function.

distance#

Devuelve la distancia entre el sensor de distancia y el objeto detectado más cercano.

Available Functions
double distance( distanceUnits units );

Parameters

Parámetro

Tipo

Descripción

units

distanceUnits

Unidad de distancia:

  • mm — milímetros (24 mm a 1000 mm)
  • cm — centímetros (2,4 cm a 100 cm)
  • inches — pulgadas (1 pulgada a 40 pulgadas)

Return Values

Devuelve un valor booleano de tipo double que representa la distancia entre el sensor de distancia y el objeto detectado más cercano en las unidades especificadas.

Notes - This is a VEX IQ Distance Sensor (1st gen) function.

objectDistance#

Devuelve la distancia entre el sensor de distancia y el objeto detectado más cercano.

Available Functions
double objectDistance( distanceUnits units );

Parameters

Parámetro

Tipo

Descripción

units

distanceUnits

Unidad de distancia:

  • mm — milímetros (20 mm a 2000 mm)
  • cm — centímetros (2 cm a 200 cm)
  • inches — pulgadas (0,78 pulgadas a 78 pulgadas)

Return Values

Devuelve un valor booleano de tipo double que representa la distancia entre el sensor de distancia y el objeto detectado más cercano en las unidades especificadas.

Notes - This is a VEX IQ Distance Sensor (2nd gen) function.

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 Functions
double objectVelocity();

Parameters

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

Return Values

Returns a double representing the relative velocity of the detected object in m/s (meters per second).

Notes - This is a VEX IQ Distance Sensor (2nd gen) function.

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 Functions
sizeType objectSize();

Parameters

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

Return Values

Devuelve un valor de tipo 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.
Notes - This is a VEX IQ Distance Sensor (2nd gen) function.

isObjectDetected#

Devuelve si el sensor de distancia detecta actualmente un objeto.

Available Functions
bool isObjectDetected();

Parameters

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

Return Values

Devuelve 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.
Notes - This is a VEX IQ Distance Sensor (2nd gen) function.

changed#

Registra una función de devolución de llamada que se ejecuta cuando cambia el valor de distancia detectado.

Available Functions
void changed( void (* callback)(void) );

Parameters

Parámetro

Tipo

Descripción

callback

void (*)(void)

Un puntero a una función que se llamará cuando cambie el valor de distancia detectado. La función no debe tomar parámetros y devolver void.

Return Values

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

Parameters

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

Return Values

Devuelve 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.
Notes - This is a VEX IQ Distance Sensor (1st gen) or (2nd gen) function.