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 |
|---|---|---|
|
|
Der Smart Port, an den der Distanzsensor angeschlossen ist, wird als |
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 Functionsbool foundObject();
Diese Funktion benötigt keine Parameter.
Return ValuesGibt 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.
distance#
Gibt die Entfernung zwischen dem Distanzsensor und dem nächstgelegenen erkannten Objekt zurück.
Available Functionsdouble distance( distanceUnits units );
Parameter |
Typ |
Beschreibung |
|---|---|---|
|
|
Die Längeneinheit:
|
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.
objectDistance#
Gibt die Entfernung zwischen dem Distanzsensor und dem nächstgelegenen erkannten Objekt zurück.
Available Functionsdouble objectDistance( distanceUnits units );
Parameter |
Typ |
Beschreibung |
|---|---|---|
|
|
Die Längeneinheit:
|
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.
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 Functionsdouble objectVelocity();
Diese Funktion benötigt keine Parameter.
Return ValuesGibt einen Wert vom Typ double zurück, der die relative Geschwindigkeit des erkannten Objekts in m/s (Meter pro Sekunde) angibt.
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 FunctionssizeType objectSize();
Diese Funktion benötigt keine Parameter.
Return ValuesGibt 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.
isObjectDetected#
Gibt zurück, ob der Distanzsensor aktuell ein Objekt erkennt.
Available Functionsbool isObjectDetected();
Diese Funktion benötigt keine Parameter.
Return ValuesGibt 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.
changed#
Registriert eine Callback-Funktion, die ausgeführt wird, wenn sich der erkannte Distanzwert ändert.
Available Functionsvoid changed( void (* callback)(void) );
Parameter |
Typ |
Beschreibung |
|---|---|---|
|
|
A pointer to a function that will be called when the detected distance value changes. The function must take no parameters and return |
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 Functionsbool installed();
Diese Funktion benötigt keine Parameter.
Return ValuesGibt 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.