Ojo#
Introducción#
El sensor ocular VEX GO puede detectar objetos y colores. También puede informar cuánta luz se refleja de vuelta al sensor y el valor de tono del color detectado.
El sensor ocular cuenta con una luz que se puede encender o apagar para ayudarle a ver objetos y colores con mayor claridad. Además, puede utilizar un rango de NEAR o de FAR para detectar objetos a diferentes distancias.
El sensor ocular se puede colocar en diferentes posiciones dependiendo de la construcción. Por ejemplo, la compilación Code Base 2.0 - Eye Forward tiene el sensor ocular orientado hacia adelante. El Code Base 2.0 - Eye Down build, Code Base 2.0 ‑ Eye + Electroimán y Super Code Base 2.0 tiene el sensor ocular hacia abajo.
Para los ejemplos que se muestran a continuación, el sensor de ojos configurado se denomina eyeEste nombre se utiliza en los ejemplos para llamar a los métodos de la clase Eye.
Hay muchas maneras de codificar el sensor ocular. A continuación se muestra una lista de todos los métodos oculares:
Mutadores: ajuste la configuración del sensor ocular.
set_light— Enciende o apaga la luz del sensor ocular.set_range— Establece hasta qué punto el sensor ocular puede detectar un objeto.set_light_power— Establece el nivel de potencia de la luz del sensor ocular.
Getters: devuelve lo que detecta el sensor ocular.
get_color— Devuelve el color detectado por el sensor ocular.get_hue— Devuelve el tono detectado por el sensor ocular.get_brightness— Devuelve el brillo detectado por el sensor ocular.is_object_detected— Devuelve si el sensor ocular detecta un objeto dentro del alcance.is_color_detected— Devuelve si el sensor ocular detecta un color específico.
Mutadores#
set_light#
set_light enciende o apaga la luz del sensor ocular.
Uso:
eye.set_light(state)
Parámetros |
Descripción |
|---|---|
|
El estado de la luz del sensor ocular: |
# 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 establece qué tan lejos puede estar un objeto del sensor ocular antes de que pueda ser detectado.
Cada proyecto comienza con el sensor ocular configurado por defecto en un rango de FAR.
Uso:
eye.set_range(distance)
Parámetros |
Descripción |
|---|---|
|
Rango de detección de objetos del sensor ocular. |
# 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 establece qué tan brillante es la luz del sensor ocular. La luz puede ayudar al sensor ocular a detectar objetos y colores con mayor claridad.
Un porcentaje más alto hace que la luz sea más brillante. Un porcentaje más bajo hace que la luz se atenúe.
Si la luz del sensor ocular está apagada, ajustar la potencia de la luz por encima del 0% encenderá la luz.
Si la luz del sensor ocular está encendida, ajustar la potencia de la luz al 0% apagará la luz.
Uso:
eye.set_light_power(value)
Parámetros |
Descripción |
|---|---|
|
El brillo para ajustar la luz del sensor ocular, de 0% a 100%. Usa números enteros. |
# 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 devuelve el color detectado por el sensor ocular.
Este método puede devolver:
RED— Un valor de tono entre 340° - 20°GREEN— Un valor de tono entre 75° - 154°BLUE— Un valor de tono entre 160° - 254°NONE: no se detecta ninguno de los colores disponibles.
Uso:
eye.get_color()
Parámetros |
Descripción |
|---|---|
Este método no tiene parámetros. |
# 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 devuelve el color detectado por el sensor ocular como un número entero de 0 a 359.00 grados.
El tono es una forma de describir el color usando números alrededor de una rueda de color.

Uso:
eye.get_hue()
Parámetros |
Descripción |
|---|---|
Este método no tiene parámetros. |
# 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 devuelve el brillo de la luz detectada, como un número entero del 0% al 100%.
Un porcentaje más alto significa que se refleja más luz hacia el sensor ocular. Un porcentaje más bajo significa que se refleja menos luz.
Uso:
eye.get_brightness()
Parámetros |
Descripción |
|---|---|
Este método no tiene parámetros. |
# 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 devuelve un Boolean que informa si el sensor ocular detecta o no un objeto dentro del alcance.
True: el sensor ocular detecta un objeto.False: el sensor ocular no detecta ningún objeto.
El rango de detección se puede cambiar usando set_range.
Uso:
eye.is_object_detected()
Parámetros |
Descripción |
|---|---|
Este método no tiene parámetros. |
# 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 devuelve un Boolean que informa si el sensor ocular detecta un color específico, en función del valor de tono detectado.
True: el sensor ocular detecta el color seleccionado.False: el sensor ocular no detecta el color seleccionado.
El sensor ocular funciona mejor cuando el objeto está lo suficientemente cerca como para detectarlo y la iluminación es clara.
Uso:
eye.is_color_detected(color)
Parámetros |
Descripción |
|---|---|
|
El color para que el sensor ocular lo compruebe:
|
# 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)