Objektsensor#

Einführung#

Der Objektsensor ist ein Infrarot-Näherungssensor (IR-Sensor), der mithilfe von reflektiertem Infrarotlicht erkennt, wann sich ein Objekt in der Nähe befindet.

Der VEX-Objektsensor.

Diese Seite verwendet object_sensor als Beispielnamen für den Objektsensor. Ersetzen Sie ihn bei Bedarf durch Ihren eigenen konfigurierten Namen.

Nachfolgend finden Sie eine Liste der verfügbaren Methoden:

  • reflectivity – Gibt einen integer zurück, der den Anteil des vom Objekt reflektierten Lichts in Prozent angibt.

  • is_object_detected – Gibt zurück, ob der Objektsensor ein Objekt erkennt.

  • set_threshold – Legt die Menge an reflektiertem Licht fest, die erforderlich ist, bevor ein Objekt als erkannt gilt.

  • object_detected – Registriert eine Funktion, die aufgerufen wird, sobald der Objektsensor ein neues Objekt erkennt.

  • object_lost – Registriert eine Funktion, die aufgerufen wird, wenn der Objektsensor ein erkanntes Objekt verliert.

  • changed – Registriert eine Funktion, die aufgerufen wird, sobald sich der Wert des Objektsensors ändert.

Konstruktor – Manuelle Initialisierung eines Objektsensors.

Reflexionsvermögen#

reflectivity gibt einen integer zurück, der den Anteil des vom Objekt reflektierten Lichts als Prozentsatz darstellt.

Notiz:

  • Ein Reflexionsgrad von 0 % bedeutet, dass das Objekt sehr dunkel ist.

  • 100% Reflexionsgrad bedeutet, dass das Objekt sehr hell ist.

Usage:
object_sensor.reflectivity()

Parameter

Beschreibung

Diese Methode hat keine Parameter.

# Drive forward when the reflectivity is greater than 50%.
while True:
    if object_sensor.reflectivity() > 50:
        drivetrain.drive(FORWARD)
    else:
        drivetrain.stop()
    wait(5, MSEC)

is_object_detect#

is_object_detected gibt an, ob der Objektsensor ein Objekt erkennt.

  • True – Der Objektsensor erkennt ein Objekt.

  • False – Der Objektsensor erkennt kein Objekt.

Usage:
object_sensor.is_object_detected()

Parameter

Beschreibung

Diese Methode hat keine Parameter.

# Drive forward when the object sensor is detecting an object.
while True:
    if object_sensor.is_object_detected():
        drivetrain.drive(FORWARD)
    else:
        drivetrain.stop()
    wait(5, MSEC)

set_threshold#

set_threshold legt die Menge an reflektiertem Licht als Prozentsatz fest, die erforderlich ist, bevor ein Objekt als erkannt gilt.

Usage:
object_sensor.set_threshold(value)

Parameter

Beschreibung

value

Der Reflexionswert, der erforderlich ist, damit ein Objekt als erkannt gilt (0 bis 100).

# Set the reflectivity threshold to 50%.
object_sensor.set_threshold(50)
# Drive forward when the object sensor is detecting an object.
while True:
    if object_sensor.is_object_detected():
        drivetrain.drive(FORWARD)
    else:
        drivetrain.stop()
    wait(5, MSEC)

Objekt_erkannt#

object_detected registriert eine Funktion, die aufgerufen wird, sobald der Objektsensor ein neues Objekt erkennt.

Usage:
object_sensor.object_detected(callback, arg)

Parameter

Beschreibung

callback

Eine zuvor definierte Funktion, die ausgeführt wird, wenn der Objektsensor ein neues Objekt erkennt.

arg

Optional. Ein tuple mit Argumenten, die an die Callback-Funktion übergeben werden sollen. Weitere Informationen finden Sie unter Funktionen mit Parametern.

def my_function():
  brain.screen.print("Object detected.")

# Call my_function whenever object_sensor detects an object
object_sensor.object_detected(my_function)

Objekt verloren#

object_lost registriert eine Funktion, die aufgerufen wird, wenn der Objektsensor ein erkanntes Objekt verliert.

Usage:
object_sensor.object_lost(callback, arg)

Parameter

Beschreibung

callback

Eine zuvor definierte Funktion, die ausgeführt wird, wenn der Objektsensor ein erkanntes Objekt verliert.

arg

Optional. Ein tuple mit Argumenten, die an die Callback-Funktion übergeben werden sollen. Weitere Informationen finden Sie unter Funktionen mit Parametern.

def my_function():
  brain.screen.print("Object lost.")

# Call my_function whenever object_sensor loses an object
object_sensor.object_lost(my_function)

geändert#

changed registriert eine Funktion, die aufgerufen wird, sobald sich der Wert des Objektsensors ändert.

Usage:
object_sensor.changed(callback, arg)

Parameter

Beschreibung

callback

Eine zuvor definierte Funktion, die ausgeführt wird, wenn sich der Wert des Objektsensors ändert.

arg

Optional. Ein tuple mit Argumenten, die an die Callback-Funktion übergeben werden sollen. Weitere Informationen finden Sie unter Funktionen mit Parametern.

def my_function():
  brain.screen.print("Reflectivity changed.")

# Call my_function whenever object_sensor's value changes
object_sensor.changed(my_function)

Konstruktoren#

Konstruktoren werden verwendet, um manuell ObjectDetector Objekte zu erstellen, die für die Konfiguration von Objektsensoren erforderlich sind.

ObjectDetector#

ObjectDetector erstellt einen Objektsensor.

Usage:
ObjectDetector(port, reverse_det)

Parameter

Beschreibung

port

Der 3-Draht-Port, an den der Objektsensor angeschlossen ist:

  • Am V5 Brain – brain.three_wire_port.x wobei x die Portnummer ist.
  • An einem 3-Draht-Expander – expander.a wobei expander der Name der Expander-Instanz ist.

reverse_det

Optional. Gibt an, ob die Erkennungslogik umgekehrt werden soll:

  • True – Wenn ein Objekt verloren geht, wird zurückgegeben, dass ein Objekt erkannt wurde, und wenn ein Objekt erkannt wird, wird zurückgegeben, dass es verloren gegangen ist.
  • False (Standard) – Wenn ein Objekt verloren geht, wird zurückgegeben, dass ein Objekt verloren gegangen ist, und wenn ein Objekt erkannt wird, wird zurückgegeben, dass es erkannt wurde.

# Create an Object Sensor in Port A
object_sensor = ObjectDetector(brain.three_wire_port.a)