Afstandssensor#
Invoering#
De klasse distance wordt gebruikt om gegevens van een afstandssensor te beheren en te raadplegen.
De afstandssensor kan detecteren of een object zich voor de sensor bevindt en de afstand tot dat object bepalen. Ook kan de sensor de relatieve snelheid van het gedetecteerde object meten en inschatten of het object klein, middelgroot of groot is.
De afstandssensor werkt binnen een bereik van 20 mm tot 2000 mm.
Onder de 200 mm bedraagt de nauwkeurigheid ongeveer ±15 mm. Boven de 200 mm verbetert de nauwkeurigheid tot ongeveer 5%.
De afstandssensor maakt gebruik van een klasse 1-laser. De detectie is recht vooruit gericht en is veilig voor gebruik in de klas.
Klasseconstructors#
distance( int32_t index );
Klasse-destructor#
Vernietigt het object op afstand distance en geeft de bijbehorende grondstoffen vrij.
~distance();
Parameters#
Parameter |
Type |
Beschrijving |
|---|---|---|
|
|
De slimme poort waarop de afstandssensor is aangesloten, wordt weergegeven als |
Voorbeelden#
// Create a Distance Sensor instance in Port 1
distance Distance1 = distance(PORT1);
Lidfuncties#
De klasse distance omvat de volgende lidfuncties:
objectDistance— Geeft de afstand terug tussen de afstandssensor en het dichtstbijzijnde gedetecteerde object.objectSize— Geeft de geschatte grootte van het gedetecteerde object terug.objectVelocity— Geeft aan hoe snel het gedetecteerde object zich naar de afstandssensor toe of van de afstandssensor af beweegt.isObjectDetected— Geeft aan of de afstandssensor momenteel een object detecteert.changed— Registreert een callbackfunctie die wordt uitgevoerd wanneer de gedetecteerde afstandswaarde verandert.installed— Geeft aan of de afstandssensor is geïnstalleerd en aangesloten.
Voordat er lidfuncties met afstand distance kunnen worden aangeroepen, moet er een instantie met afstand distance worden aangemaakt, zoals hieronder weergegeven:
/* This constructor is required when using VS Code.
Distance Sensor configuration is generated automatically
in VEXcode using the Device Menu. Replace the values
as needed. */
// Create a Distance Sensor instance in Port 1
distance Distance1 = distance(PORT1);
objectDistance#
Geeft de afstand terug tussen de afstandssensor en het dichtstbijzijnde gedetecteerde object.
Available Functionsdouble objectDistance( distanceUnits units );
Parameter |
Type |
Beschrijving |
|---|---|---|
|
|
De afstandseenheid:
|
Retourneert een double die de afstand tussen de afstandssensor en het dichtstbijzijnde gedetecteerde object in de opgegeven eenheden weergeeft.
objectSize#
Geeft de geschatte grootte terug van het object dat door de afstandssensor is gedetecteerd.
De afstandssensor schat de objectgrootte op basis van hoeveel van het gezichtsveld van de sensor wordt ingenomen door het gedetecteerde object.
Available FunctionssizeType objectSize();
Deze functie accepteert geen parameters.
Return ValuesRetourneert een sizeType die de geschatte grootte van het gedetecteerde object aangeeft:
-
none— No object is detected. -
small— A small object is detected. -
medium— A medium object is detected. -
large— A large object is detected.
objectVelocity#
Geeft de relatieve snelheid van het gedetecteerde object terug.
De snelheid geeft aan hoe snel het object zich naar de afstandssensor toe of van de sensor af beweegt. Een waarde dicht bij 0 betekent dat het object ten opzichte van de sensor nauwelijks beweegt.
Available Functionsdouble objectVelocity();
Deze functie accepteert geen parameters.
Return ValuesRetourneert een double die de relatieve snelheid van het gedetecteerde object in m/s (meter per seconde) weergeeft.
isObjectDetected#
Geeft aan of de afstandssensor momenteel een object detecteert.
Available Functionsbool isObjectDetected();
Deze functie accepteert geen parameters.
Return ValuesGeeft een Booleaanse waarde terug die aangeeft of de afstandssensor een object detecteert:
-
true— The Distance Sensor detects an object. -
false— The Distance Sensor does not detect an object.
changed#
Registreert een callbackfunctie die wordt uitgevoerd wanneer de gedetecteerde afstandswaarde verandert.
Available Functionsvoid changed( void (* callback)(void) );
Parameter |
Type |
Beschrijving |
|---|---|---|
|
|
Een pointer naar een functie die wordt aangeroepen wanneer de gedetecteerde afstandswaarde verandert. De functie mag geen parameters accepteren en moet |
Deze functie retourneert geen waarde.
installed#
Geeft aan of de afstandssensor is geïnstalleerd en aangesloten.
Available Functionsbool installed();
Deze functie accepteert geen parameters.
Return ValuesRetourneert een Booleaanse waarde die aangeeft of de afstandssensor is geïnstalleerd en aangesloten:
-
true— The Distance Sensor is installed and connected. -
false— The Distance Sensor is not installed or not connected.