Oko#

Wstęp#

Robot VEX 123 ma wbudowany czujnik oka, który wykrywa obiekty i kolory. Może również raportować, ile światła odbija się od czujnika oraz wartość odcienia wykrytego koloru.

Czujnik oka ma światło, które można włączać i wyłączać, dzięki czemu urządzenie może wyraźniej widzieć obiekty i kolory.

Istnieje wiele sposobów kodowania czujnika oka. Poniżej znajduje się lista wszystkich metod dotyczących oka:

Mutatory — Dostosuj ustawienia czujnika oka.

  • set_light — Włącza lub wyłącza światło czujnika oka.

  • set_light_power — Ustawia poziom mocy światła czujnika oka.

Gettery — zwracają informacje wykryte przez czujnik oka.

  • get_hue — Zwraca odcień wykryty przez czujnik oka.

  • get_brightness — Zwraca jasność wykrytą przez czujnik oka.

  • is_object_detected — Zwraca informację, czy czujnik oka wykrył obiekt w zasięgu.

  • is_color_detected — Zwraca informację, czy czujnik oka wykrył określony kolor.

  • is_bright — Zwraca informację, czy czujnik oka wykrył jasny obiekt.

Mutatory#

set_light#

set_light włącza lub wyłącza światło czujnika oka.

Usage:
robot.eye.set_light(state)

Parametry

Opis

state

Stan światła czujnika oka: OFF lub 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 ustawia jasność światła czujnika oka. Światło może pomóc czujnikowi oka wyraźniej wykrywać obiekty i kolory.

Wyższy procent sprawia, że ​​światło jest jaśniejsze. Niższy procent sprawia, że ​​światło jest ciemniejsze.

Jeśli światło czujnika oka jest wyłączone, ustawienie mocy światła powyżej 0% spowoduje jego włączenie.

Jeśli światło czujnika oka jest włączone, ustawienie mocy światła na 0% spowoduje wyłączenie światła.

Usage:
robot.eye.set_light_power(value)

Parametry

Opis

value

Ustaw jasność oświetlenia czujnika oka w zakresie od 0% do 100%. Użyj liczb całkowitych.

# 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)

Getters#

get_hue#

get_hue zwraca kolor wykryty przez czujnik oka jako liczbę całkowitą z zakresu od 0 do 359,00 stopni.

Odcień to sposób opisywania koloru za pomocą liczb znajdujących się na kole barw.

Koło barw wyświetlające pełne spektrum odcieni oznaczonych wartościami stopni na obwodzie, zwiększającymi się co 30 stopni od 0° u góry do 360°.

Usage:
robot.eye.get_hue()

Parametry

Opis

Ta metoda nie ma żadnych parametrów.

# 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 zwraca jasność wykrytego światła jako liczbę całkowitą od 0% do 100%.

Wyższy procent oznacza, że ​​więcej światła odbija się z powrotem do czujnika oka. Niższy procent oznacza, że ​​mniej światła odbija się z powrotem.

Usage:
robot.eye.get_brightness()

Parametry

Opis

Ta metoda nie ma żadnych parametrów.

# 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 zwraca Boolean informujący, czy czujnik oka wykrył obiekt w zasięgu.

  • True — Czujnik oka wykrył obiekt.

  • False — Czujnik oka nie wykrył obiektu.

Usage:
robot.eye.is_object_detected()

Parametry

Opis

Ta metoda nie ma żadnych parametrów.

# 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 zwraca Boolean informujący, czy czujnik oka wykrył określony kolor na podstawie wykrytej wartości odcienia.

  • True — Czujnik oka wykrywa wybrany kolor.

  • False — Czujnik oka nie wykrył wybranego koloru.

Czujnik oka działa najlepiej, gdy obiekt znajduje się blisko i oświetlenie jest wyraźne.

Usage:
robot.eye.is_color_detected(color)

Parametry

Opis

color

Kolor do sprawdzenia przez czujnik oka:

  • BLUE – Wartość odcienia od 160° do 254°.
  • GREEN – Wartość odcienia od 75° do 154°.
  • NONE
  • RED – Wartość odcienia od 340° do 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 zwraca Boolean informujący, czy obiekt wykryty przez czujnik oka jest jasny.

Obiekt uważa się za jasny, gdy odbija ponad 70% jasności z powrotem do czujnika oka.

  • True — Wykryty obiekt odbija więcej niż 70% jasności.

  • False — Wykryty obiekt odbija 70% jasności lub mniej.

Usage:
robot.eye.is_bright()

Parametry

Opis

Ta metoda nie ma żadnych parametrów.

# 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.")