Abstandssensor#

Einführung#

Das Sonar der Klasse sonar wird mit dem VEX IQ Distanzsensor (1. Generation) verwendet. Das Sonar der Klasse distance Generation) wird mit dem VEX IQ Distanzsensor (2. Generation) verwendet.

Beide Distanzsensoren erkennen, ob sich ein Objekt vor dem Sensor befindet und geben dessen Entfernung an. Der VEX IQ Distanzsensor (2. Generation) kann zusätzlich die Relativgeschwindigkeit des erfassten Objekts messen und dessen Größe (klein, mittel oder groß) einschätzen.

Klassenkonstruktoren#

1 — Dieser Konstruktor erzeugt einen VEX IQ Distanzsensor (1. Generation).

sonar(
    int32_t index);

2 — Dieser Konstruktor erstellt einen VEX IQ Distanzsensor (2. Generation).

distance(
    int32_t index);

Klassendestruktor#

Zerstört das Objekt mit der Entfernung distance und gibt die zugehörigen Ressourcen frei.

1 — Zerstört einen VEX IQ Distanzsensor (1. Generation).

~sonar();

2 — Zerstört einen VEX IQ Distanzsensor (2. Generation).

~distance();

Parameter#

Parameter

Typ

Beschreibung

index

int32_t

Der Smart Port, an den der Distanzsensor angeschlossen ist, wird als PORTxgeschrieben, wobei x die Portnummer ist (zum Beispiel PORT1).

Beispiele#

1 — Erstellen Sie eine VEX IQ Distance Sensor (1. Generation) Instanz in Port 1.

sonar Distance1 = sonar(PORT1);

2 — Erstellen Sie eine VEX IQ Distance Sensor (2. Generation) Instanz in Port 1.

distance Distance1 = distance(PORT1);

Mitgliedsfunktionen#

Die Klasse sonar umfasst die folgenden Memberfunktionen:

  • foundObject — Gibt zurück, ob der Distanzsensor aktuell ein Objekt erkennt.

  • distance — Gibt die Entfernung zwischen dem Distanzsensor und dem nächstgelegenen erkannten Objekt zurück.

Die Klasse distance umfasst die folgenden Memberfunktionen:

  • objectDistance — Gibt die Distanz zwischen dem Distanzsensor und dem nächstgelegenen erkannten Objekt zurück.

  • objectVelocity — Gibt zurück, wie schnell sich das erkannte Objekt auf den Abstandssensor zu oder von ihm weg bewegt.

  • objectSize — Gibt die geschätzte Größe des erkannten Objekts zurück.

  • isObjectDetected — Gibt zurück, ob der Distanzsensor aktuell ein Objekt erkennt.

  • changed — Registriert eine Rückruffunktion, die ausgeführt wird, wenn sich der erkannte Distanzwert ändert.

  • installed — Gibt zurück, ob der Distanzsensor installiert und angeschlossen ist.

Bevor Sie eine beliebige distance oder sonar Mitgliedsfunktion aufrufen, muss eine distance oder sonar Instanz erstellt werden, wie unten gezeigt:

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

Gibt zurück, ob der Distanzsensor aktuell ein Objekt erkennt.

Available Functions
bool foundObject();

Parameters

Diese Funktion benötigt keine Parameter.

Return Values

Gibt einen booleschen Wert zurück, der angibt, ob der Distanzsensor ein Objekt erkennt:

  • 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#

Gibt die Entfernung zwischen dem Distanzsensor und dem nächstgelegenen erkannten Objekt zurück.

Available Functions
double distance( distanceUnits units );

Parameters

Parameter

Typ

Beschreibung

units

distanceUnits

Die Längeneinheit:

  • mm — Millimeter (24 mm bis 1000 mm)
  • cm — Zentimeter (2,4 cm bis 100 cm)
  • inches — Zoll (1 Zoll bis 40 Zoll)

Return Values

Gibt einen Wert vom Typ double zurück, der die Entfernung zwischen dem Distanzsensor und dem nächstgelegenen erkannten Objekt in den angegebenen Einheiten darstellt.

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

objectDistance#

Gibt die Entfernung zwischen dem Distanzsensor und dem nächstgelegenen erkannten Objekt zurück.

Available Functions
double objectDistance( distanceUnits units );

Parameters

Parameter

Typ

Beschreibung

units

distanceUnits

Die Längeneinheit:

  • mm — Millimeter (20 mm bis 2000 mm)
  • cm — Zentimeter (2 cm bis 200 cm)
  • inches — Zoll (0,78 Zoll bis 78 Zoll)

Return Values

Gibt einen Wert vom Typ double zurück, der die Entfernung zwischen dem Distanzsensor und dem nächstgelegenen erkannten Objekt in den angegebenen Einheiten darstellt.

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

objectVelocity#

Gibt die Relativgeschwindigkeit des erkannten Objekts zurück.

Die Geschwindigkeit gibt an, wie schnell sich das Objekt auf den Abstandssensor zu oder von ihm weg bewegt. Ein Wert nahe 0 bedeutet, dass sich das Objekt relativ zum Sensor kaum bewegt.

Available Functions
double objectVelocity();

Parameters

Diese Funktion benötigt keine Parameter.

Return Values

Gibt einen Wert vom Typ double zurück, der die relative Geschwindigkeit des erkannten Objekts in m/s (Meter pro Sekunde) angibt.

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

objectSize#

Gibt die geschätzte Größe des vom Distanzsensor erfassten Objekts zurück.

Der Distanzsensor schätzt die Objektgröße anhand dessen, wie viel des Sichtfelds des Sensors vom erkannten Objekt eingenommen wird.

Available Functions
sizeType objectSize();

Parameters

Diese Funktion benötigt keine Parameter.

Return Values

Gibt einen Wert vom Typ sizeType zurück, der die geschätzte Größe des erkannten Objekts angibt:

  • 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#

Gibt zurück, ob der Distanzsensor aktuell ein Objekt erkennt.

Available Functions
bool isObjectDetected();

Parameters

Diese Funktion benötigt keine Parameter.

Return Values

Gibt einen booleschen Wert zurück, der angibt, ob der Distanzsensor ein Objekt erkennt:

  • 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#

Registriert eine Callback-Funktion, die ausgeführt wird, wenn sich der erkannte Distanzwert ändert.

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

Parameters

Parameter

Typ

Beschreibung

callback

void (*)(void)

A pointer to a function that will be called when the detected distance value changes. The function must take no parameters and return void.

Return Values

Diese Funktion gibt keinen Wert zurück.

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

installed#

Gibt zurück, ob der Distanzsensor installiert und angeschlossen ist.

Available Functions
bool installed();

Parameters

Diese Funktion benötigt keine Parameter.

Return Values

Gibt einen booleschen Wert zurück, der angibt, ob der Distanzsensor installiert und angeschlossen ist:

  • 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.