Oko#
Wstęp#
Czujnik VEX GO Eye Sensor potrafi wykrywać obiekty i kolory. Potrafi również raportować, ile światła odbija się z powrotem do czujnika oraz wartość odcienia wykrytego koloru.
Czujnik oka posiada światło, które można włączać i wyłączać, aby wyraźniej widzieć obiekty i kolory. Czujnik oka może również wykorzystywać zakres NEAR lub FAR do wykrywania obiektów w różnych odległościach.
Czujnik oka można umieścić w różnych pozycjach, w zależności od konfiguracji. Na przykład w konfiguracji Code Base 2.0 – Eye Forward czujnik oka jest skierowany do przodu. W konfiguracjach Code Base 2.0 – Eye Down, Code Base 2.0 – Eye + Electromagnet i Super Code Base 2.0 czujnik oka jest skierowany w dół.
W poniższych przykładach skonfigurowany czujnik oka nosi nazwę eyeNazwa ta jest używana w przykładach do wywołania metod klasy Eye.
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_range— Ustawia odległość, w jakiej czujnik oka może wykryć obiekt.set_light_power— Ustawia poziom mocy światła czujnika oka.
Gettery — zwracają informacje wykryte przez czujnik oka.
get_color— Zwraca kolor wykryty 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.
Mutatory#
set_light#
set_light włącza lub wyłącza światło czujnika oka.
Usage:
eye.set_light(state)
Parametry |
Opis |
|---|---|
|
Stan światła czujnika oka: |
# Build Used: Super Code Base 2.0
def main():
# Turn the light on and off
while True:
eye.set_light(ON)
wait(2, SECONDS)
eye.set_light(OFF)
wait(2, SECONDS)
# Start threads — Do not delete
start_thread(main)
set_range#
set_range ustawia odległość, w jakiej obiekt może znajdować się od czujnika oka, aby mógł zostać wykryty.
Każdy projekt rozpoczyna się od ustawienia czujnika oka domyślnie na zakres FAR.
Usage:
eye.set_range(distance)
Parametry |
Opis |
|---|---|
|
Zasięg wykrywania obiektów przez czujnik oka. |
# Build Used: Code Base 2.0 - Eye Forward
def main():
# Drive to an object with different ranges
eye.set_range(FAR)
drivetrain.drive(FORWARD)
wait(0.2, SECONDS)
while not eye.is_object_detected():
wait(0.2, SECONDS)
drivetrain.drive_for(REVERSE, 100, MM)
# Closer detection range
eye.set_range(NEAR)
drivetrain.drive(FORWARD)
wait(0.2, SECONDS)
while not eye.is_object_detected():
wait(0.2, SECONDS)
drivetrain.stop()
# Start threads — Do not delete
start_thread(main)
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:
eye.set_light_power(value)
Parametry |
Opis |
|---|---|
|
Ustaw jasność oświetlenia czujnika oka w zakresie od 0% do 100%. Użyj liczb całkowitych. |
# Build Used: Super Code Base 2.0
def main():
# Turn on the light at different brightnesses
eye.set_light_power(25)
wait(2, SECONDS)
eye.set_light_power(50)
wait(2, SECONDS)
eye.set_light_power(100)
# Start threads — Do not delete
start_thread(main)
Getters#
get_color#
get_color zwraca kolor wykryty przez czujnik oka.
Ta metoda może zwrócić:
RED— wartość odcienia pomiędzy 340° - 20°GREEN— wartość odcienia pomiędzy 75° - 154°BLUE— wartość odcienia pomiędzy 160° - 254°NONE— Nie wykryto żadnego z dostępnych kolorów.
Usage:
eye.get_color()
Parametry |
Opis |
|---|---|
Ta metoda nie ma żadnych parametrów. |
# Build Used: Super Code Base 2.0
def main():
# Stop when red is detected
drivetrain.drive(FORWARD)
while True:
if eye.get_color() == RED:
break
wait(0.2, SECONDS)
drivetrain.stop()
# Start threads — Do not delete
start_thread(main)
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:
eye.get_hue()
Parametry |
Opis |
|---|---|
Ta metoda nie ma żadnych parametrów. |
# Build Used: Code Base 2.0 - Eye Forward
def main():
# Display the hue of a pink GO piece
while True:
console.clear()
if 10 < eye.get_hue() < 40:
console.print("Pink!")
wait(0.1,SECONDS)
else:
console.print("Not pink.")
wait(0.1,SECONDS)
# Start threads — Do not delete
start_thread(main)
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:
eye.get_brightness()
Parametry |
Opis |
|---|---|
Ta metoda nie ma żadnych parametrów. |
# Build Used: Super Code Base 2.0
def main():
# Monitor the brightness until red is detected
monitor_sensor("eye.get_brightness")
drivetrain.drive(FORWARD)
while not eye.get_color() == RED:
wait(0.2, SECONDS)
drivetrain.stop()
# Start threads — Do not delete
start_thread(main)
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.
Zasięg wykrywania można zmienić za pomocą polecenia set_range.
Usage:
eye.is_object_detected()
Parametry |
Opis |
|---|---|
Ta metoda nie ma żadnych parametrów. |
# Build Used: Code Base 2.0 - Eye Forward
def main():
# Drive forward until an object is detected
drivetrain.drive(FORWARD)
wait(0.2, SECONDS)
while not eye.is_object_detected():
wait(0.5, SECONDS)
drivetrain.stop()
# Start threads — Do not delete
start_thread(main)
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 jest wystarczająco blisko, aby go wykryć, a oświetlenie jest wyraźne.
Usage:
eye.is_color_detected(color)
Parametry |
Opis |
|---|---|
|
Kolor do sprawdzenia przez czujnik oka:
|
# Build Used: Super Code Base 2.0
def main():
# Drive forward until a green object is detected
drivetrain.drive(FORWARD)
wait(0.2, SECONDS)
while not eye.is_color_detected(GREEN):
wait(0.5, SECONDS)
drivetrain.stop()
# Start threads — Do not delete
start_thread(main)