Sensor de distância#

Introdução#

A classe de distância distance é utilizada para controlar e aceder aos dados de um sensor de distância.

O Sensor de Distância pode detetar se um objeto está em frente ao sensor e devolver a que distância se encontra esse objeto. Pode também devolver a velocidade relativa do objeto detetado e estimar se o objeto é pequeno, médio ou grande.

O sensor de distância opera numa gama de 20 mm a 2000 mm.

Abaixo dos 200 mm, a precisão é de aproximadamente ±15 mm. Acima de 200 mm, a precisão melhora para cerca de 5%.

O sensor de distância utiliza um laser de Classe 1. A deteção é feita diretamente à frente e é segura para utilização em sala de aula.

Construtores de Classes#

distance( int32_t  index );

Destrutor de classes#

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

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

// Create a Distance Sensor instance in Port 1
distance Distance1 = distance(PORT1);

Funções de membro#

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.

  • objectSize — Retorna o tamanho estimado do objecto detectado.

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

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

Antes de chamar qualquer função membro com distância distance , é necessário criar uma instância com distância distance , como se mostra abaixo:

/* 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 Distance Sensor instance in Port 1
distance Distance1 = distance(PORT1);

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,74 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.

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.

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

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.

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.

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.