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.

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 |
|---|---|---|
|
|
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 |
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 Functionsbool foundObject();
Esta função não aceita qualquer parâmetro.
Return ValuesRetorna 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.
// 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 Functionsdouble distance(
distanceUnits units );
Parâmetro |
Tipo |
Descrição |
|---|---|---|
|
|
A unidade que representa a distância: |
Retorna um valor do tipo double que representa a distância nas unidades especificadas.
// 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);