Afstandssensor#
Invoering#
De sonar klasse wordt gebruikt met de VEX IQ afstandssensor (1e generatie). De distance klasse wordt gebruikt met de VEX IQ afstandssensor (2e generatie).
Beide afstandssensoren kunnen detecteren of een object zich voor de sensor bevindt en de afstand tot dat object bepalen. De VEX IQ-afstandssensor (2e generatie) kan bovendien de relatieve snelheid van het gedetecteerde object meten en inschatten of het object klein, middelgroot of groot is.
Klasseconstructors#
1 — Deze constructor maakt een VEX IQ afstandssensor (1e generatie).
sonar( int32_t index);
2 — Deze constructor maakt een VEX IQ afstandssensor (2e generatie).
distance( int32_t index);
Klasse-destructor#
Vernietigt het object op afstand distance en geeft de bijbehorende grondstoffen vrij.
1 — Vernietigt een VEX IQ-afstandssensor (1e generatie).
~sonar();
2 — Vernietigt een VEX IQ-afstandssensor (2e generatie).
~distance();
Parameters#
Parameter |
Type |
Beschrijving |
|---|---|---|
|
|
De slimme poort waarop de afstandssensor is aangesloten, wordt weergegeven als |
Voorbeelden#
1 — Maak een VEX IQ Distance Sensor (1e generatie) instantie aan in poort 1.
sonar Distance1 = sonar(PORT1);
2 — Maak een VEX IQ Distance Sensor (2e generatie) instantie aan in poort 1.
distance Distance1 = distance(PORT1);
Lidfuncties#
De klasse sonar omvat de volgende lidfuncties:
foundObject— Geeft aan of de afstandssensor momenteel een object detecteert.distance— Geeft de afstand terug tussen de afstandssensor en het dichtstbijzijnde gedetecteerde object.
De klasse distance omvat de volgende lidfuncties:
objectDistance— Geeft de afstand terug tussen de afstandssensor en het dichtstbijzijnde gedetecteerde object.objectVelocity— Geeft aan hoe snel het gedetecteerde object zich naar de afstandssensor toe of van de afstandssensor af beweegt.objectSize— Geeft de geschatte grootte van het gedetecteerde object terug.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 u een van de lidfuncties van distance of sonar kunt aanroepen, moet er een instantie van distance of sonar 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 VEX IQ Distance Sensor (2nd gen) instance in Port 1
distance Distance1 = distance(PORT1);
foundObject#
Geeft aan of de afstandssensor momenteel een object detecteert.
Available Functionsbool foundObject();
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.
distance#
Geeft de afstand terug tussen de afstandssensor en het dichtstbijzijnde gedetecteerde object.
Available Functionsdouble distance( 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.
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.
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.
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.
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.
Notes - This is a VEX IQ Distance Sensor (1st gen) or (2nd gen) function.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.