Abstandssensor#
Einführung#
Die Klasse distance dient zur Steuerung und zum Zugriff auf Daten eines Distanzsensors.
Der Distanzsensor erkennt, ob sich ein Objekt vor dem Sensor befindet und gibt dessen Entfernung an. Er kann außerdem die relative Geschwindigkeit des erfassten Objekts messen und dessen Größe (klein, mittel oder groß) einschätzen.
Der Distanzsensor arbeitet in einem Bereich von 20 mm bis 2000 mm.
Unterhalb von 200 mm beträgt die Genauigkeit etwa ±15 mm. Oberhalb von 200 mm verbessert sich die Genauigkeit auf etwa 5 %.
Der Abstandssensor verwendet einen Laser der Klasse 1. Die Erfassung erfolgt geradlinig nach vorn und ist für den Einsatz im Klassenzimmer unbedenklich.
Klassenkonstruktoren#
distance( int32_t index );
Klassendestruktor#
Zerstört das Objekt mit der Entfernung distance und gibt die zugehörigen Ressourcen frei.
~distance();
Parameter#
Parameter |
Typ |
Beschreibung |
|---|---|---|
|
|
Der Smart Port, an den der Distanzsensor angeschlossen ist, wird als |
Beispiele#
// Create a Distance Sensor instance in Port 1
distance Distance1 = distance(PORT1);
Mitgliedsfunktionen#
Die Klasse distance umfasst die folgenden Memberfunktionen:
objectDistance— Gibt die Distanz zwischen dem Distanzsensor und dem nächstgelegenen erkannten Objekt zurück.objectSize— Gibt die geschätzte Größe des erkannten Objekts zurück.objectVelocity— Gibt zurück, wie schnell sich das erkannte Objekt auf den Abstandssensor zu oder von ihm weg bewegt.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 Memberfunktion mit der Distanz distance aufrufen, muss eine Instanz mit der Distanz distance 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 Distance Sensor instance in Port 1
distance Distance1 = distance(PORT1);
objectDistance#
Gibt die Entfernung zwischen dem Distanzsensor und dem nächstgelegenen erkannten Objekt zurück.
Available Functionsdouble objectDistance( distanceUnits units );
Parameter |
Typ |
Beschreibung |
|---|---|---|
|
|
Die Entfernungseinheit:
|
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.
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.
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.
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.
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.