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 |
|---|---|---|
|
|
A porta inteligente à qual o sensor de distância está ligado é escrita como |
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 Functionsbool foundObject();
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.
distance#
Retorna a distância entre o sensor de distância e o objeto detetado mais próximo.
Available Functionsdouble distance( 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.
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.
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).
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.
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.
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 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.