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

index

int32_t

De slimme poort waarop de afstandssensor is aangesloten, wordt weergegeven als PORTx, waarbij x het poortnummer is (bijvoorbeeld PORT1).

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 Functions
bool foundObject();

Parameters

Deze functie accepteert geen parameters.

Return Values

Geeft 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.
Notes - This is a VEX IQ Distance Sensor (1st gen) function.

distance#

Geeft de afstand terug tussen de afstandssensor en het dichtstbijzijnde gedetecteerde object.

Available Functions
double distance( distanceUnits units );

Parameters

Parameter

Type

Beschrijving

units

distanceUnits

De afstandseenheid:

  • mm — millimeter (24 mm tot 1000 mm)
  • cm — centimeter (2,4 cm tot 100 cm)
  • inches — inch (1 inch tot 40 inch)

Return Values

Retourneert een double die de afstand tussen de afstandssensor en het dichtstbijzijnde gedetecteerde object in de opgegeven eenheden weergeeft.

Notes - This is a VEX IQ Distance Sensor (1st gen) function.

objectDistance#

Geeft de afstand terug tussen de afstandssensor en het dichtstbijzijnde gedetecteerde object.

Available Functions
double objectDistance( distanceUnits units );

Parameters

Parameter

Type

Beschrijving

units

distanceUnits

De afstandseenheid:

  • mm — millimeter (20 mm tot 2000 mm)
  • cm — centimeter (2 cm tot 200 cm)
  • inches — inch (0,78 inch tot 78 inch)

Return Values

Retourneert een double die de afstand tussen de afstandssensor en het dichtstbijzijnde gedetecteerde object in de opgegeven eenheden weergeeft.

Notes - This is a VEX IQ Distance Sensor (2nd gen) function.

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 Functions
double objectVelocity();

Parameters

Deze functie accepteert geen parameters.

Return Values

Retourneert een double die de relatieve snelheid van het gedetecteerde object in m/s (meter per seconde) weergeeft.

Notes - This is a VEX IQ Distance Sensor (2nd gen) function.

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 Functions
sizeType objectSize();

Parameters

Deze functie accepteert geen parameters.

Return Values

Retourneert 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.
Notes - This is a VEX IQ Distance Sensor (2nd gen) function.

isObjectDetected#

Geeft aan of de afstandssensor momenteel een object detecteert.

Available Functions
bool isObjectDetected();

Parameters

Deze functie accepteert geen parameters.

Return Values

Geeft 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.
Notes - This is a VEX IQ Distance Sensor (2nd gen) function.

changed#

Registreert een callbackfunctie die wordt uitgevoerd wanneer de gedetecteerde afstandswaarde verandert.

Available Functions
void changed( void (* callback)(void) );

Parameters

Parameter

Type

Beschrijving

callback

void (*)(void)

Een pointer naar een functie die wordt aangeroepen wanneer de gedetecteerde afstandswaarde verandert. De functie mag geen parameters accepteren en moet void

Return Values

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 Functions
bool installed();

Parameters

Deze functie accepteert geen parameters.

Return Values

Retourneert 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.
Notes - This is a VEX IQ Distance Sensor (1st gen) or (2nd gen) function.