Afstandsmeter#

Invoering#

De sonar klasse wordt gebruikt met de ultrasone afstandsmeter, die de afstand tot het dichtstbijzijnde object meet met behulp van geluidsgolven. Het werkt door een ultrasone puls uit te zenden en te meten hoe lang het duurt voordat het geluid terugkaatst.

De VEX V5 afstandsmeter.

Klasseconstructor#

sonar(
  triport::port &port);

Klasse-destructor#

Vernietigt het sonar object en geeft de bijbehorende resources vrij.

virtual ~sonar();

Parameters#

Parameter

Type

Beschrijving

port

triport::port &

De eerste 3-draads poort van een vereiste groep van twee poorten die door de afstandsmeter wordt gebruikt. De afstandsmeter bezet twee aangrenzende poorten (A–B, C–D, E–F of G–H) op de Brain of een 3-draads expander. Specificeer de eerste poort in het paar (A, C, E of G), geschreven als Brain.ThreeWirePort.X of ExpanderName.X waarbij X de poortletter is (bijvoorbeeld Brain.ThreeWirePort.A of Expander1.C).

Voorbeelden#

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

Lidfuncties#

De klasse sonar omvat de volgende lidfuncties:

  • foundObject — Geeft aan of de afstandsmeter een object detecteert.

  • distance — Geeft de afstand weer tussen de afstandsmeter en het dichtstbijzijnde gedetecteerde object.

Voordat er functies van het type sonar kunnen worden aangeroepen, moet er een instantie van sonar worden aangemaakt, zoals hieronder weergegeven:

/* 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#

Geeft aan of de afstandsmeter een object binnen zijn gezichtsveld detecteert.

Available Functions
bool foundObject();

Parameters

Deze functie accepteert geen parameters.

Return Values

Retourneert een booleanwaarde van bool die aangeeft of de afstandsmeter een object detecteert:

  • true — De afstandsmeter detecteert een object.

  • false — De afstandsmeter detecteert geen object.

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#

Geeft de gemeten afstand tot het dichtstbijzijnde object terug dat door de sensor is gedetecteerd.

Available Functions
double distance(
  distanceUnits units );

Parameters

Parameter

Type

Beschrijving

units

distanceUnits

De eenheid die de afstand aangeeft: inches of mm millimeter.

Return Values

Retourneert een double die de afstand in de opgegeven eenheden weergeeft.

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);