Distanz#
Einführung#
Der Distanzsensor kann erkennen, ob sich ein Objekt vor dem Sensor befindet und die Entfernung zu diesem Objekt zurückgeben.
Der VEX IQ Distanzsensor (1. Generation) nutzt Sonar zur Objekterkennung und Entfernungsmessung. Der VEX IQ Distanzsensor (2. Generation) verwendet einen für Klassenzimmer geeigneten Laser und kann zusätzlich die Relativgeschwindigkeit des erfassten Objekts sowie dessen Größe (klein, mittel oder groß) bestimmen.
Diese Seite verwendet distance_1 als Beispielnamen für den Distanzsensor. Ersetzen Sie ihn bei Bedarf durch Ihren eigenen Namen.
Nachfolgend finden Sie eine Liste aller verfügbaren Methoden:
Getter – Geben Daten vom Distanzsensor zurück.
is_object_detected— (VEX IQ Distanzsensor (1. Generation) oder (2. Generation)) Gibt zurück, ob der Distanzsensor aktuell ein Objekt erkennt.distance— (VEX IQ Distance Sensor (1st gen)) Gibt die Entfernung zwischen dem Distance Sensor und dem nächstgelegenen erkannten Objekt zurück.object_distance— (VEX IQ Distanzsensor (2. Generation)) Gibt die Distanz zwischen dem Distanzsensor und dem nächstgelegenen erkannten Objekt zurück.object_velocity— (VEX IQ Distanzsensor (2. Generation)) Gibt zurück, wie schnell sich das erkannte Objekt auf den Distanzsensor zu oder von ihm weg bewegt.object_size— (VEX IQ Distance Sensor (2nd gen)) Gibt die geschätzte Größe des erkannten Objekts zurück.installed— (VEX IQ Distanzsensor (1. Generation) oder (2. Generation)) Gibt zurück, ob der Distanzsensor installiert und angeschlossen ist.
Konstruktoren – Manuelle Initialisierung und Konfiguration eines Distanzsensors.
Getter#
is_object_detected#
is_object_detected gibt an, ob der Distanzsensor aktuell ein Objekt innerhalb der Reichweite erkennt.
True— Der Abstandssensor erkennt ein Objekt.False— Der Abstandssensor erkennt kein Objekt.
Usage:
distance_1.is_object_detected()
Parameter |
Beschreibung |
|---|---|
Diese Methode hat keine Parameter. |
# Turn until an object is detected
drivetrain.turn(RIGHT)
while not distance_1.is_object_detected():
wait(15, MSEC)
drivetrain.stop()
brain.screen.print("Object detected!")
distance#
distance gibt die Entfernung zwischen dem Distanzsensor und dem nächstgelegenen erkannten Objekt als Dezimalzahl (float) zurück.
Hinweis: Dies ist eine Methode mit dem VEX IQ Distanzsensor (1. Generation).
Usage:
distance_1.distance(units)
Parameter |
Beschreibung |
|---|---|
|
Optional. Die Entfernungseinheit: |
# Display the distance to an object
if distance_1.is_object_detected():
print("Distance: ")
print(distance_1.distance(MM))
else:
print("No object detected")
object_distance#
object_distance gibt die Entfernung zwischen dem Distanzsensor und dem nächstgelegenen erkannten Objekt als Dezimalzahl (float) zurück.
Hinweis: Dies ist eine Methode mit dem VEX IQ Distanzsensor (2. Generation).
Usage:
distance_1.object_distance(units)
Parameter |
Beschreibung |
|---|---|
|
Optional. Die Entfernungseinheit: |
# Drive forward until an object is 200 mm away
while distance_1.object_distance(MM) > 200:
drivetrain.drive(FORWARD)
drivetrain.stop()
object_velocity#
object_velocity gibt die relative Geschwindigkeit des erkannten Objekts als Dezimalzahl (float) in m/s (Meter pro Sekunde) zurück.
Die Geschwindigkeit gibt an, wie schnell sich das Objekt auf den Abstandssensor zu oder von ihm weg bewegt. Ein positiver Wert bedeutet, dass sich das Objekt auf den Abstandssensor zubewegt. Ein negativer Wert bedeutet, dass sich das Objekt vom Sensor wegbewegt. Ein Wert nahe 0 bedeutet, dass sich das Objekt relativ zum Sensor kaum bewegt.
Hinweis: Dies ist eine Methode mit dem VEX IQ Distanzsensor (2. Generation).
Usage:
distance_1.object_velocity()
Parameter |
Beschreibung |
|---|---|
Diese Methode hat keine Parameter. |
# Display the velocity of a moving object
while True:
brain.screen.clear_screen()
brain.screen.set_cursor(1, 1)
brain.screen.print("Velocity: ")
brain.screen.print(distance_1.object_velocity())
wait(100, MSEC)
object_size#
object_size 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.
ObjectSizeType.NONE— Es wurde kein Objekt erkannt.ObjectSizeType.SMALL— Ein kleines Objekt wurde erkannt.ObjectSizeType.MEDIUM— Ein mittelgroßes Objekt wurde erkannt.ObjectSizeType.LARGE— Ein großes Objekt wurde erkannt.
Hinweis: Dies ist eine Methode mit dem VEX IQ Distanzsensor (2. Generation).
Usage:
distance_1.object_size()
Parameter |
Beschreibung |
|---|---|
Diese Methode hat keine Parameter. |
installed#
installed gibt an, ob der Distanzsensor installiert und angeschlossen ist.
True— Der Distanzsensor ist installiert und angeschlossen.False— Der Distanzsensor ist nicht installiert oder nicht angeschlossen.
Usage:
distance_1.installed()
Parameter |
Beschreibung |
|---|---|
Diese Methode hat keine Parameter. |
Konstruktoren#
Konstruktoren werden verwendet, um manuell Distance und Sonar Objekte zu erstellen, beispielsweise bei der Konfiguration eines Distanzsensors außerhalb von VEXcode.
Sonar#
Sonar erzeugt ein VEX IQ Distanzsensor (1. Generation) Objekt.
Usage:
distance_1 = Sonar(smartport)
Parameter |
Beschreibung |
|---|---|
|
Der Smart Port, an den der Distanzsensor angeschlossen ist, wird als |
# Create a Sonar object in Port 1
distance_1 = Sonar(Ports.PORT1)
Distance#
Distance erzeugt ein VEX IQ Distance Sensor (2. Generation) Objekt.
Usage:
distance_1 = Distance(smartport)
Parameter |
Beschreibung |
|---|---|
|
Der Smart Port, an den der Distanzsensor angeschlossen ist, wird als |
# Create a Distance object in Port 1
distance_1 = Distance(Ports.PORT1)