Ojo#
Introducción#
El sensor GO Eye permite al robot detectar objetos y devolver información relacionada con su apariencia, como colores y brillo.
En los ejemplos siguientes, el sensor ocular configurado se llamará eye
Se utilizará en todos los ejemplos posteriores de esta documentación de API al hacer referencia a los métodos de la clase Eye
.
A continuación se muestra una lista de todos los métodos:
Mutadores: cambian la configuración del sensor ocular.
set_light
– Turn the Eye Sensor’s light on or off.set_range
– Set the Eye’s Sensor detection range.set_light_power
– Set the Eye’s light power level.
Obtenedores: devuelven datos de los objetos detectados.
get_color
– Returns the color detected by the Eye Sensor.get_hue
– Returns the hue detected by the Eye Sensor.get_brightness
– Returns the brightness detected by the Eye Sensor.is_object_detected
– Returns whether or not an object is detected.is_color_detected
– Returns whether or not a certain color is detected.
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 a configurar:
|
# 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 el rango en el que el sensor ocular puede detectar objetos.
Uso:
eye.set_range(distance)
Parámetros |
Descripción |
---|---|
|
The detection range of the sensor:
|
# 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.stop()
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 el brillo de la luz del sensor ocular. Si la luz no está encendida al usar este método, se encenderá con el brillo especificado.
Uso:
eye.set_light_power(value)
Parámetros |
Descripción |
---|---|
|
El brillo de la luz como porcentaje de 0% a 100%. |
# 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)
Captadores#
get_color#
get_color
devuelve el color detectado por el sensor ocular.
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 tono de un color detectado por el sensor ocular en grados de 0 a 359,99.
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():
# Check the hue of a pink GO piece
while True:
console.clear()
if 290 < eye.get_hue() < 350:
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 detectado por el sensor ocular como un porcentaje del 0% al 100%.
Uso:
eye.get_brightness()
Parámetros |
Descripción |
---|---|
Este método no tiene parámetros. |
# Build Used: Super Code Base 2.0
def main():
# Continuously monitor the detected brightness
# until detecting red
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 valor booleano que indica si el sensor ocular detecta o no un objeto.
True
– El sensor ocular detecta un objeto.False
– El sensor ocular no detecta un objeto.
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 valor booleano que indica si el sensor ocular detecta o no un color específico.
True
– El sensor ocular detecta el color.False
– El sensor ocular no detecta el color.
Uso:
eye.is_color_detected(color)
Parámetros |
Descripción |
---|---|
|
El color que comprobará el sensor ocular:
|
# 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)