Dálkoměr#
Zavedení#
Sonar třídy sonar se používá s ultrazvukovým dálkoměrem, který měří vzdálenost k nejbližšímu objektu pomocí zvukových vln. Funguje tak, že vysílá ultrazvukový impuls a měří, jak dlouho trvá, než se zvuk odrazí zpět.

Konstruktor třídy#
sonar(
triport::port &port);
Destruktor tříd#
Destroys the sonar object and releases associated resources.
virtual ~sonar();
Parametry#
Parametr |
Typ |
Popis |
|---|---|---|
|
|
První 3vodičový port požadované dvouportové skupiny používané dálkoměrem. Dálkoměr obsazuje dva sousední porty (A–B, C–D, E–F nebo G–H) buď na jednotce Brain, nebo na 3vodičovém expandéru. Zadejte první port v páru (A, C, E nebo G), zapsaný jako |
Příklady#
// Create a sonar instance in Ports A and B
sonar RangeFinderA = sonar(Brain.ThreeWirePort.A);
Členské funkce#
Třída sonar obsahuje následující členské funkce:
foundObject— Vrátí, zda měřič vzdálenosti detekoval objekt.distance— Vrátí vzdálenost mezi dálkoměrem a nejbližším detekovaným objektem.
Před voláním jakékoli členské funkce sonar je nutné vytvořit instanci sonar , jak je znázorněno níže:
/* 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#
Vrací, zda dálkoměr detekuje objekt ve svém zorném poli.
Available Functionsbool foundObject();
Tato funkce nepřijímá žádné parametry.
Return ValuesVrací bool hodnotu bool která představuje, zda hledač vzdálenosti detekuje objekt:
true— Dálkoměr detekuje objekt.false— Dálkoměr nedetekuje žádný objekt.
// 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#
Vrátí naměřenou vzdálenost k nejbližšímu objektu detekovanému senzorem.
Available Functionsdouble distance(
distanceUnits units );
Parametr |
Typ |
Popis |
|---|---|---|
|
|
Jednotka, která vyjadřuje vzdálenost: |
Vrací hodnotu double představující vzdálenost v zadaných jednotkách.
// 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);