Távolságmérő#
Bevezetés#
A sonar osztályú szonárt ultrahangos távolságmérővel használják, amely hanghullámok segítségével méri a legközelebbi tárgytól való távolságot. Úgy működik, hogy ultrahangos impulzust küld ki, és méri, mennyi időbe telik, amíg a hang visszaverődik.

Osztálykonstruktor#
sonar(
triport::port &port);
Osztálydestruktor#
Megsemmisíti a sonar objektumot és felszabadítja a hozzá tartozó erőforrásokat.
virtual ~sonar();
Paraméterek#
Paraméter |
Típus |
Leírás |
|---|---|---|
|
|
A távolságmérő által használt kétportos csoport első 3-vezetékes portja. A távolságmérő két szomszédos portot foglal el (A–B, C–D, E–F vagy G–H) az agyon vagy egy 3-vezetékes bővítőn. Adja meg a pár első portját (A, C, E vagy G), a következőképpen írva |
Példák#
// Create a sonar instance in Ports A and B
sonar RangeFinderA = sonar(Brain.ThreeWirePort.A);
Tagfüggvények#
A sonar osztály a következő tagfüggvényeket tartalmazza:
foundObject— Visszaadja, hogy a távolságmérő észlelt-e objektumot.distance— Visszaadja a távolságmérő és a legközelebbi érzékelt tárgy közötti távolságot.
Bármely sonar tagfüggvény meghívása előtt létre kell hozni egy sonar példányt, az alábbiak szerint:
/* 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#
Azt adja vissza, hogy a távolságmérő észlel-e objektumot a látóterében.
Available Functionsbool foundObject();
Ez a függvény nem fogad el paramétereket.
Return Valuesbool értéket ad vissza, amely azt jelzi, hogy a távolságmérő észlelt-e objektumot:
true— A távolságmérő egy tárgyat érzékel.false— A távolságmérő nem érzékel tárgyat.
// 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#
Visszaadja az érzékelő által érzékelt legközelebbi tárgytól mért távolságot.
Available Functionsdouble distance(
distanceUnits units );
Paraméter |
Típus |
Leírás |
|---|---|---|
|
|
A távolságot jelző mértékegység: |
double értéket ad vissza, amely a megadott mértékegységben megadott távolságot jelöli.
// 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);