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 |
|---|---|---|
|
|
A porta inteligente à qual o sensor de distância está ligado é escrita como |
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 Functionsdouble objectDistance( distanceUnits units );
Parâmetro |
Tipo |
Descrição |
|---|---|---|
|
|
Unidades de distância:
|
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 FunctionssizeType objectSize();
Esta função não recebe qualquer parâmetro.
Return ValuesRetorna 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 Functionsdouble objectVelocity();
Esta função não recebe qualquer parâmetro.
Return ValuesDevolve 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 Functionsbool isObjectDetected();
Esta função não recebe qualquer parâmetro.
Return ValuesRetorna 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 Functionsvoid changed( void (* callback)(void) );
Parâmetro |
Tipo |
Descrição |
|---|---|---|
|
|
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 |
Esta função não devolve qualquer valor.
installed#
Retorna se o sensor de distância está instalado e ligado.
Available Functionsbool installed();
Esta função não recebe qualquer parâmetro.
Return ValuesRetorna 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.