Öga#
Introduktion#
VEX GO ögonsensorn kan upptäcka objekt och färger. Den kan också rapportera hur mycket ljus som reflekteras tillbaka till sensorn och nyansvärdet för den detekterade färgen.
Ögonsensorn har en lampa som kan slås på eller av för att den ska kunna se objekt och färger tydligare. Ögonsensorn kan också använda ett område på NEAR eller FAR för att upptäcka objekt på olika avstånd.
Ögonsensorn kan placeras i olika positioner beroende på versionen. Till exempel har Code Base 2.0 - Öga framåt-versionen ögonsensorn vänd framåt. Code Base 2.0 - Öga nedåt-versionen, Code Base 2.0 - Öga + Elektromagnet och Super Code Base 2.0 har ögonsensorn vänd nedåt.
I exemplen nedan heter den konfigurerade ögonsensorn eyeDetta namn används i exemplen för att anropa metoder för Eye -klassen.
Det finns många sätt att koda ögonsensorn. Nedan följer en lista över alla ögonmetoder:
Mutatorer — Justera ögonsensorns inställningar.
set_light— Slår på eller av ögonsensorns ljus.set_range— Ställer in hur långt ögonsensorn kan upptäcka ett objekt.set_light_power— Ställer in ögonsensorns ljusstyrkenivå.
Getters — Returnera vad ögonsensorn detekterar.
get_color— Returnerar färgen som upptäckts av ögonsensorn.get_hue— Returnerar den nyans som upptäckts av ögonsensorn.get_brightness— Returnerar ljusstyrkan som detekterats av ögonsensorn.is_object_detected— Returnerar om ögonsensorn detekterar ett objekt inom räckhåll.is_color_detected— Returnerar om ögonsensorn detekterar en specifik färg.
Mutatorer#
set_light#
set_light slår på eller av ögonsensorns ljus.
Usage:
eye.set_light(state)
Parametrar |
Beskrivning |
|---|---|
|
Ögonsensorns ljusstatus: |
# 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 anger hur långt ett objekt kan vara från ögonsensorn innan det kan detekteras.
Varje projekt börjar med ögonsensorn inställd på FAR som standard.
Usage:
eye.set_range(distance)
Parametrar |
Beskrivning |
|---|---|
|
Ögonsensorns objektdetekteringsområde. |
# 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 ställer in hur starkt ögonsensorns ljus är. Ljuset kan hjälpa ögonsensorn att upptäcka objekt och färger tydligare.
En högre procentandel gör ljuset starkare. En lägre procentandel gör ljuset svagare.
Om ögonsensorns lampa är släckt, tänds lampan om du ställer in ljusstyrkan över 0 %.
Om ögonsensorns lampa lyser, släcks lampan om du ställer in ljusstyrkan på 0 %.
Usage:
eye.set_light_power(value)
Parametrar |
Beskrivning |
|---|---|
|
Ljusstyrkan som ögonsensorns ljus ska ställas in på, från 0 % till 100 %. Använd heltal. |
# 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 returnerar färgen som detekterats av ögonsensorn.
Den här metoden kan returnera:
RED— Ett nyansvärde mellan 340° och 20°GREEN— Ett nyansvärde mellan 75° och 154°BLUE— Ett nyansvärde mellan 160° och 254°NONE— Inga av de tillgängliga färgerna upptäcks.
Usage:
eye.get_color()
Parametrar |
Beskrivning |
|---|---|
Den här metoden har inga parametrar. |
# 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 returnerar färgen som detekterats av ögonsensorn som ett heltal från 0 till 359,00 grader.
Nyans är ett sätt att beskriva färg med hjälp av siffror runt en färgcirkel.

Usage:
eye.get_hue()
Parametrar |
Beskrivning |
|---|---|
Den här metoden har inga parametrar. |
# 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 returnerar hur starkt det detekterade ljuset är, som ett heltal från 0 % till 100 %.
En högre procentandel innebär att mer ljus reflekteras tillbaka till ögonsensorn. En lägre procentandel innebär att mindre ljus reflekteras tillbaka.
Usage:
eye.get_brightness()
Parametrar |
Beskrivning |
|---|---|
Den här metoden har inga parametrar. |
# 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 returnerar ett Boolean värde som rapporterar om ögonsensorn detekterar ett objekt inom räckhåll.
True— Ögonsensorn detekterar ett objekt.False— Ögonsensorn detekterar inte ett objekt.
Detektionsområdet kan ändras med hjälp av set_range.
Usage:
eye.is_object_detected()
Parametrar |
Beskrivning |
|---|---|
Den här metoden har inga parametrar. |
# 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 returnerar ett Boolean värde som rapporterar om ögonsensorn detekterar en specifik färg, baserat på det detekterade nyansvärdet.
True— Ögonsensorn detekterar den valda färgen.False— Ögonsensorn detekterar inte den valda färgen.
Ögonsensorn fungerar bäst när objektet är tillräckligt nära för att det ska kunna detekteras och ljuset är klart.
Usage:
eye.is_color_detected(color)
Parametrar |
Beskrivning |
|---|---|
|
Färgen som ögonsensorn ska kontrollera:
|
# 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)