Sensor de distância#

Introdução#

The sonar class is used with the VEX IQ Distance Sensor (1st gen). The distance class is used with the VEX IQ Distance Sensor (2nd gen).

Ambos os sensores de distância podem detetar se um objeto está em frente ao sensor e informar a que distância se encontra esse objeto. O sensor de distância VEX IQ (2ª geração) também pode informar a velocidade relativa do objeto detetado e estimar se o objeto é pequeno, médio ou grande.

Construtores de Classes#

1 — Este construtor cria um sensor de distância VEX IQ (1ª geração).

sonar(
    int32_t index);

2 — Este construtor cria um sensor de distância VEX IQ (2ª geração).

distance(
    int32_t index);

Destrutor de classes#

Destrói o objeto de distância distance e liberta os recursos associados.

1 — Destrói um sensor de distância VEX IQ (1. ª geração).

~sonar();

2 — Destrói um sensor de distância VEX IQ (2. ª geração).

~distance();

Parâmetros#

Parâmetro

Tipo

Descrição

index

int32_t

A porta inteligente à qual o sensor de distância está ligado é escrita como PORTx, em que x é o número da porta (por exemplo, PORT1).

Exemplos#

1 — Crie uma instância do sensor de distância VEX IQ (1ª geração) na porta 1.

sonar Distance1 = sonar(PORT1);

2 — Crie uma instância do sensor de distância VEX IQ (2ª geração) na porta 1.

distance Distance1 = distance(PORT1);

Funções de membro#

A classe sonar inclui as seguintes funções membro:

  • foundObject — Retorna se o Sensor de Distância deteta atualmente um objeto.

  • distance — Devolve a distância entre o Sensor de Distância e o objeto detetado mais próximo.

A classe de distância distance inclui as seguintes funções membro:

  • objectDistance — Retorna a distância entre o Sensor de Distância e o objecto detectado mais próximo.

  • objectVelocity — Retorna a rapidez com que o objecto detectado se está a mover em direcção ao Sensor de Distância ou a afastar-se dele.

  • objectSize — Retorna o tamanho estimado do objecto detectado.

  • isObjectDetected — Retorna se o Sensor de Distância detetou um objeto no momento.

  • changed — Regista uma função de retorno de chamada que é executada quando o valor da distância detectada é alterado.

  • installed — Retorna se o sensor de distância está instalado e ligado.

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#

Retorna se o sensor de distância detetou algum objeto no momento.

Available Functions
bool foundObject();

Parameters

Esta função não recebe qualquer parâmetro.

Return Values

Retorna um valor booleano indicando se o sensor de distância detetou um 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#

Retorna a distância entre o sensor de distância e o objeto detetado mais próximo.

Available Functions
double distance( distanceUnits units );

Parameters

Parâmetro

Tipo

Descrição

units

distanceUnits

Unidades de distância:

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

Return Values

Retorna um valor double representando a distância entre o sensor de distância e o objeto detetado mais próximo, nas unidades especificadas.

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

objectDistance#

Retorna a distância entre o sensor de distância e o objeto detetado mais próximo.

Available Functions
double objectDistance( distanceUnits units );

Parameters

Parâmetro

Tipo

Descrição

units

distanceUnits

Unidades de distância:

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

Return Values

Retorna um valor double representando a distância entre o sensor de distância e o objeto detetado mais próximo, nas unidades especificadas.

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

objectVelocity#

Retorna a velocidade relativa do objeto detetado.

A velocidade indica a rapidez com que o objeto se move em direção ao sensor de distância ou se afasta dele. Um valor próximo de 0 significa que o objeto não se está a mover muito em relação ao sensor.

Available Functions
double objectVelocity();

Parameters

Esta função não recebe qualquer parâmetro.

Return Values

Devolve um valor do tipo double representando a velocidade relativa do objeto detetado em m/s (metros por segundo).

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

objectSize#

Retorna o tamanho estimado do objeto detetado pelo sensor de distância.

O sensor de distância estima o tamanho do objeto com base na área de visão do sensor que é ocupada pelo objeto detetado.

Available Functions
sizeType objectSize();

Parameters

Esta função não recebe qualquer parâmetro.

Return Values

Retorna um valor sizeType , indicando o tamanho estimado do objeto detetado:

  • 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#

Retorna se o sensor de distância detetou algum objeto no momento.

Available Functions
bool isObjectDetected();

Parameters

Esta função não recebe qualquer parâmetro.

Return Values

Retorna um valor booleano indicando se o sensor de distância detetou um 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#

Regista uma função de retorno de chamada que é executada quando o valor da distância detectada é alterado.

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

Parameters

Parâmetro

Tipo

Descrição

callback

void (*)(void)

Um ponteiro para uma função que será chamada quando o valor da distância detectada mudar. A função não deve receber parâmetros e devolver void

Return Values

Esta função não devolve qualquer valor.

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

installed#

Retorna se o sensor de distância está instalado e ligado.

Available Functions
bool installed();

Parameters

Esta função não recebe qualquer parâmetro.

Return Values

Retorna um valor booleano indicando se o sensor de distância está instalado e ligado:

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