Telémetro#

Introdução#

O sonar de classe ) é utilizado com o telémetro ultrassónico, que mede a distância até ao objeto mais próximo através de ondas sonoras. Funciona emitindo um pulso ultrassónico e medindo o tempo que o som demora a regressar.

O telémetro VEX V5.

Construtor de Classes#

sonar(
  triport::port &port);

Destrutor de classes#

Destrói o objeto sonar sonar e liberta os recursos associados.

virtual ~sonar();

Parâmetros#

Parâmetro

Tipo

Descrição

port

triport::port &

A primeira porta de 3 fios de um grupo de duas portas necessário utilizado pelo telémetro. O telémetro ocupa duas portas adjacentes (A–B, C–D, E–F ou G–H) no módulo principal ou num expansor de 3 fios. Especifique a primeira porta do par (A, C, E ou G), escrita como Brain.ThreeWirePort.X ou ExpanderName.X em que X é a letra da porta (por exemplo, Brain.ThreeWirePort.A ou Expander1.C).

Exemplos#

// Create a sonar instance in Ports A and B
sonar RangeFinderA = sonar(Brain.ThreeWirePort.A);

Funções de membro#

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

  • foundObject — Retorna se o Localizador de Alcance detetou um objeto.

  • distance — Devolve a distância entre o telémetro e o objeto detetado mais próximo.

Antes de chamar qualquer função membro do sonar ), deve ser criada uma instância do sonar ), como se mostra abaixo:

/* This constructor is required when using VS Code.
Range Finder configuration is generated automatically
in VEXcode using the Device Menu. Replace the values
as needed. */

// Create a sonar instance in Ports A and B
sonar RangeFinderA = sonar(Brain.ThreeWirePort.A);

foundObject#

Retorna se o sensor de alcance detetou um objeto dentro do seu campo de visão.

Available Functions
bool foundObject();

Parameters

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

Return Values

Retorna um valor booleano bool representando se o Localizador de Alcance detetou um objeto:

  • true — O sensor de distância está a detetar um objeto.

  • false — O sensor de distância não está a detetar nenhum objeto.

Examples
// Check if an object is detected.
if (RangeFinderA.foundObject()){
    // Print to screen on the brain that an object was found.
    Brain.Screen.print("object found");
}

distance#

Retorna a distância medida até ao objeto mais próximo detetado pelo sensor.

Available Functions
double distance(
  distanceUnits units );

Parameters

Parâmetro

Tipo

Descrição

units

distanceUnits

A unidade que representa a distância: inches ou mm — milímetros.

Return Values

Retorna um valor do tipo double que representa a distância nas unidades especificadas.

Examples
// Get the Range Finder distance in millimeters.
double value = RangeFinderA.distance(mm);

// Print the current distance detected by the Range Finder to the
// Brain's screen.
Brain.Screen.print(value);