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 |
|---|---|
|
Stan światła czujnika oka: |
# 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 |
|---|---|
|
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.

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 |
|---|---|
|
Kolor do sprawdzenia przez czujnik oka:
|
# 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.")