Sensor óptico#
Introducción#
El Sensor óptico EXP detecta el color, el brillo y la presencia de objetos cercanos utilizando una combinación de un sensor de color RGB y un sensor de proximidad. También puede usar su LED incorporado para iluminar objetos para una detección más precisa.

Esta página utiliza optical_sensor como ejemplo de nombre del sensor óptico. Reemplácelo con su propio nombre configurado según sea necesario.
A continuación se muestra una lista de los métodos disponibles:
set_light– Enciende o apaga el LED del sensor óptico.set_light_power– Establece el nivel de potencia de la luz del sensor óptico.is_near_object– Devuelve si el sensor óptico detecta un objeto dentro del alcance.color– Devuelve el color detectado por el sensor óptico.brightness– Devuelve la cantidad de luz reflejada por el objeto.hue– Devuelve el tono detectado por el sensor óptico.object_detected– Registra una función que se llamará cuando el sensor óptico detecte un objeto.object_lost– Registra una función que se llamará cuando el sensor óptico pierda un objeto.
Constructor: inicializa manualmente un sensor óptico.
Optical– Crea un sensor óptico.
set_light#
set_light enciende o apaga el LED del sensor óptico. Esto puede ayudar a aumentar la precisión del sensor al detectar colores.
Usage:
optical_sensor.set_light(state)
Parámetros |
Descripción |
|---|---|
estado |
Enciende o apaga el LED. |
# Turn on the sensor's LED
optical_sensor.set_light(LEDStateType.ON)
set_light_power#
set_light_power establece el brillo del LED del sensor óptico. La luz puede ayudar al sensor óptico a detectar objetos y colores con mayor claridad.
Si la luz del sensor óptico está apagada, ajustar la potencia de la luz por encima del 0% encenderá la luz.
Si la luz del sensor óptico está encendida, ajustar la potencia de la luz al 0% apagará la luz.
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.
Usage:
optical_sensor.set_light_power(percent, units)
Parámetros |
Descripción |
|---|---|
por ciento |
El brillo para ajustar el LED como un número entero. |
unidades |
Opcional. La unidad para representar el brillo: |
# Turn on the sensor's light at half brightness
optical_sensor.set_light_power(50, PERCENT)
is_near_object#
is_near_object devuelve un booleano que indica si el sensor óptico detecta o no un objeto dentro del alcance.
True: el sensor óptico detecta un objeto.False– El sensor óptico no detecta un objeto.
Usage:
optical_sensor.is_near_object()
Parámetros |
Descripción |
|---|---|
Este método no tiene parámetros. |
# Drive forward until an object is found
drivetrain.drive(FORWARD)
while not optical_sensor.is_near_object():
pass
drivetrain.stop()
color#
color devuelve una instancia de una Color clase, basada en el valor de tono detectado. Estos se pueden comparar con objetos Color predefinidos para crear declaraciones condicionales.
Los colores posibles son:
Color.BLACKColor.WHITEColor.RED- Un valor de tono entre 340° - 20°Color.GREEN- Un valor de tono entre 80° - 140°Color.BLUE- Un valor de tono entre 200° - 240°Color.YELLOW- Un valor de tono entre 40° - 60°Color.ORANGE- Un valor de tono entre 20° - 40°Color.PURPLE- Un valor de tono entre 240° - 280°Color.CYAN- Un valor de tono entre 140° - 200°
Nota: El sensor óptico está buscando rangos de tonalidad que coincidan con el color especificado. Para detectar rangos de tonalidad específicos, consulte hue.
Usage:
optical_sensor.color()
Parámetros |
Descripción |
|---|---|
Este método no tiene parámetros. |
# Drive forward until red is found
drivetrain.drive(FORWARD)
while not optical_sensor.color() == Color.RED:
pass
drivetrain.stop()
brillo#
el brightness devuelve la cantidad de luz reflejada desde el objeto como un decimal (float) que representa un porcentaje.
Un porcentaje más alto significa que se refleja más luz al sensor óptico. Un porcentaje más bajo significa que se refleja menos luz.
Usage:
optical_sensor.brightness()
Parámetros |
Descripción |
|---|---|
Este método no tiene parámetros. |
matiz#
hue devuelve el valor de tono del color detectado como un decimal (float) de 0 a 359.
El tono es una forma de describir el color usando números alrededor de una rueda de color.

Usage:
optical_sensor.hue()
Parámetros |
Descripción |
|---|---|
Este método no tiene parámetros. |
# Look for the color pink using hue
while True:
brain.screen.clear_screen()
brain.screen.set_cursor(1, 1)
if 300 < optical_sensor.hue() < 359:
brain.screen.print("This is pink!")
else:
brain.screen.print("No pink detected!")
object_detected#
object_detected registra una función que se llamará cada vez que el sensor óptico detecte un nuevo objeto.
Usage:
optical_sensor.object_detected(callback, arg)
Parámetros |
Descripción |
|---|---|
|
Una función previamente definida que se ejecuta cuando el sensor óptico detecta un nuevo objeto. |
|
Opcional. Una tupla que contiene argumentos para pasar a la función de devolución de llamada. Consulte Uso de funciones con parámetros para obtener más información. |
def my_function():
brain.screen.print("Optical Sensor detected an object")
# Call my_function whenever optical_sensor detects an object
optical_sensor.object_detected(my_function)
object_lost#
object_lost registra una función que se llamará cada vez que el sensor óptico pierda un objeto detectado.
Usage:
optical_sensor.object_lost(callback, arg)
Parámetros |
Descripción |
|---|---|
|
Una función previamente definida que se ejecuta cuando el sensor óptico pierde un objeto detectado. |
|
Opcional. Una tupla que contiene argumentos para pasar a la función de devolución de llamada. Consulte Uso de funciones con parámetros para obtener más información. |
def my_function():
brain.screen.print("Optical Sensor lost an object")
# Call my_function whenever optical_sensor loses an object
optical_sensor.object_lost(my_function)
Constructor#
Los constructores se utilizan para crear manualmente objetos Optical , que son necesarios para configurar un sensor óptico fuera del código VEX.
Optical#
Optical crea un sensor óptico.
Usage:
Optical(smartport)
Parámetro |
Descripción |
|---|---|
|
El puerto inteligente al que está conectado el sensor óptico, escrito como |
# Create an Optical Sensor in Port 10
optical_sensor = Optical(Ports.PORT10)