Auge#

Einführung#

Der VEX 123 Roboter verfügt über einen eingebauten Augensensor, der Objekte und Farben erkennen kann. Er kann außerdem messen, wie viel Licht zum Sensor zurückreflektiert wird und welchen Farbton die erkannte Farbe hat.

Der Augensensor verfügt über ein Licht, das ein- und ausgeschaltet werden kann, um die Erkennung von Objekten und Farben zu verbessern.

Es gibt viele Möglichkeiten, den Augensensor zu codieren. Nachfolgend finden Sie eine Liste aller Methoden:

Mutatoren – Einstellungen des Augensensors anpassen.

  • set_light — Schaltet das Licht des Augensensors ein oder aus.

  • set_light_power — Legt die Lichtleistungsstufe des Augensensors fest.

Getter – Geben zurück, was der Augensensor erfasst.

  • get_hue — Gibt den vom Augensensor erfassten Farbton zurück.

  • get_brightness — Gibt die vom Augensensor erfasste Helligkeit zurück.

  • is_object_detected — Gibt zurück, ob der Augensensor ein Objekt innerhalb der Reichweite erkennt.

  • is_color_detected — Gibt zurück, ob der Augensensor eine bestimmte Farbe erkennt.

  • is_bright — Gibt zurück, ob der Augensensor ein helles Objekt erkennt.

Mutatoren#

set_light#

set_light schaltet das Licht des Augensensors ein oder aus.

Usage:
robot.eye.set_light(state)

Parameter

Beschreibung

state

Der Zustand der Kontrollleuchte des Augensensors: OFF oder ON.

# Continuously blink the light.
while True:
    robot.eye.set_light(ON)
    wait(2, SECONDS)
    robot.eye.set_light(OFF)
    wait(2, SECONDS)

set_light_power#

set_light_power legt die Helligkeit der Beleuchtung des Augensensors fest. Die Beleuchtung kann dem Augensensor helfen, Objekte und Farben deutlicher zu erkennen.

Ein höherer Prozentsatz macht das Licht heller. Ein niedrigerer Prozentsatz macht das Licht dunkler.

Wenn die Kontrollleuchte des Augensensors ausgeschaltet ist, schaltet sich die Kontrollleuchte ein, sobald die Lichtleistung über 0 % eingestellt wird.

Wenn die Kontrollleuchte des Augensensors eingeschaltet ist, schaltet das Einstellen der Lichtleistung auf 0 % die Kontrollleuchte aus.

Usage:
robot.eye.set_light_power(value)

Parameter

Beschreibung

value

Die Helligkeit, auf die das Licht des Augensensors eingestellt werden soll, von 0 % bis 100 %. Bitte ganze Zahlen verwenden.

# Set the light to different power levels.
robot.eye.set_light_power(25)
wait(2, SECONDS)
robot.eye.set_light_power(50)
wait(2, SECONDS)
robot.eye.set_light_power(100)

Getter#

get_hue#

get_hue gibt die vom Augensensor erfasste Farbe als ganze Zahl zwischen 0 und 359,00 Grad zurück.

Der Farbton ist eine Methode, Farben mithilfe von Zahlen auf einem Farbkreis zu beschreiben.

Ein kreisförmiges Farbrad, das ein vollständiges Farbspektrum anzeigt, wobei die Gradwerte am Rand in 30-Grad-Schritten von 0° oben bis 360° ansteigen.

Usage:
robot.eye.get_hue()

Parameter

Beschreibung

Diese Methode hat keine Parameter.

# Display if an object is pink.
while True:
    console.clear()
    if 290 < robot.eye.get_hue() < 350:
        console.print("Pink!")
    else:
        console.print("Not pink!")
    wait(0.1, SECONDS)

get_brightness#

get_brightness gibt die Helligkeit des erkannten Lichts als ganze Zahl zwischen 0% und 100% zurück.

Ein höherer Prozentsatz bedeutet, dass mehr Licht zum Augensensor zurückreflektiert wird. Ein niedrigerer Prozentsatz bedeutet, dass weniger Licht zurückreflektiert wird.

Usage:
robot.eye.get_brightness()

Parameter

Beschreibung

Diese Methode hat keine Parameter.

# Display whether a detected object is bright.
robot.eye.set_light_power(100)
robot.drive(FORWARD)
while not robot.eye.is_object_detected():
    wait(0.1, SECONDS)
wait(0.1, SECONDS)
if robot.eye.get_brightness() < 70:
    console.print("Object not bright.")
else:
    console.print("Bright object!")

is_object_detected#

is_object_detected gibt einen Boolean zurück, der angibt, ob der Augensensor ein Objekt innerhalb der Reichweite erkennt oder nicht.

  • True — Der Augensensor erkennt ein Objekt.

  • False — Der Augensensor erkennt kein Objekt.

Usage:
robot.eye.is_object_detected()

Parameter

Beschreibung

Diese Methode hat keine Parameter.

# Stop driving after detecting an object.
robot.eye.set_light(ON)
robot.drive(FORWARD)
wait(0.1, SECONDS)
while not robot.eye.is_object_detected():
    wait(0.1, SECONDS)
robot.stop()

is_color_detected#

is_color_detected gibt einen Boolean zurück, der angibt, ob der Augensensor eine bestimmte Farbe erkennt, basierend auf dem erkannten Farbtonwert.

  • True — Der Augensensor erkennt die ausgewählte Farbe.

  • False — Der Augensensor erkennt die ausgewählte Farbe nicht.

Der Augensensor funktioniert am besten, wenn sich das Objekt in der Nähe befindet und die Lichtverhältnisse klar sind.

Usage:
robot.eye.is_color_detected(color)

Parameter

Beschreibung

color

Die vom Augensensor zu prüfende Farbe:

  • BLUE – Farbtonwert zwischen 160° und 254°.
  • GREEN – Farbtonwert zwischen 75° und 154°.
  • NONE
  • RED – Farbtonwert zwischen 340° und 20°.

# Stop driving after detecting a green object.
robot.eye.set_light(ON)
robot.drive(FORWARD)
wait(0.1, SECONDS)
while not robot.eye.is_color_detected(GREEN):
    wait(0.1, SECONDS)
robot.stop()

is_bright#

is_bright gibt einen Boolean zurück, der angibt, ob das vom Augensensor erkannte Objekt hell ist.

Ein Objekt gilt als hell, wenn es mehr als 70 % seiner Helligkeit zum Augensensor zurückreflektiert.

  • True — Das erkannte Objekt reflektiert mehr als 70 % der Helligkeit.

  • False — Das erkannte Objekt reflektiert 70 % oder weniger der Helligkeit.

Usage:
robot.eye.is_bright()

Parameter

Beschreibung

Diese Methode hat keine Parameter.

# Display whether a detected object is bright.
robot.eye.set_light_power(100)
robot.drive(FORWARD)
while not robot.eye.is_object_detected():
    wait(0.1, SECONDS)
wait(0.1, SECONDS)
if robot.eye.is_bright():
    console.print("Bright object!")
else:
    console.print("Object not bright.")