Avståndsmätare#
Introduktion#
Sonar sonar används med ultraljudsavståndsmätaren, som mäter avståndet till närmaste objekt med hjälp av ljudvågor. Den fungerar genom att skicka ut en ultraljudspuls och mäta hur lång tid det tar för ljudet att studsa tillbaka.

Klasskonstruktor#
sonar(
triport::port &port);
Klassförstörare#
Förstör sonar objektet och frigör tillhörande resurser.
virtual ~sonar();
Parametrar#
Parameter |
Typ |
Beskrivning |
|---|---|---|
|
|
Den första 3-trådsporten i en obligatorisk tvåportsgrupp som används av avståndsmätaren. Avståndsmätaren upptar två intilliggande portar (A–B, C–D, E–F eller G–H) på antingen Brain eller en 3-tråds expander. Ange den första porten i paret (A, C, E eller G), skriven som |
Exempel#
// Create a sonar instance in Ports A and B
sonar RangeFinderA = sonar(Brain.ThreeWirePort.A);
Medlemsfunktioner#
Klassen sonar inkluderar följande medlemsfunktioner:
foundObject— Returnerar om avståndsmätaren detekterar ett objekt.distance— Returnerar avståndet mellan avståndsmätaren och det närmaste detekterade objektet.
Innan några sonar medlemsfunktioner anropas måste en sonar instans skapas, som visas nedan:
/* 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#
Returnerar om avståndsmätaren detekterar ett objekt inom sitt synfält.
Available Functionsbool foundObject();
Den här funktionen accepterar inga parametrar.
Return ValuesReturnerar ett bool som representerar om avståndsmätaren detekterar ett objekt:
true— Avståndsmätaren detekterar ett objekt.false— Avståndsmätaren detekterar inget 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#
Returnerar det uppmätta avståndet till det närmaste objektet som detekterats av sensorn.
Available Functionsdouble distance(
distanceUnits units );
Parameter |
Typ |
Beskrivning |
|---|---|---|
|
|
Enheten som representerar avståndet: |
Returnerar double som representerar avståndet i de angivna enheterna.
// 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);