Óptico#
Introducción#
El sensor óptico es un sensor basado en la luz que utiliza la luz reflejada para detectar objetos, identificar colores y medir el brillo y el tono.
También puede configurar el brillo de la luz interna del sensor. Estas herramientas son ideales para programas que necesitan reaccionar a objetos de colores, condiciones de iluminación o comentarios de sensores en tiempo real.
Esta página utiliza optical_1 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 todos los métodos:
Acciones: encienda o apague el LED del sensor óptico.
set_light— Establece el estado encendido o apagado del LED.
Mutadores: ajuste el brillo del LED y la configuración de detección de objetos.
set_light_power— Establece el brillo del LED.object_detect_threshold— Establece el umbral para detectar objetos.
Getters: lee la presencia del objeto, el color, el brillo, el tono, el RGB y el estado del sensor.
is_near_object— Devuelve si un objeto detectado está cerca del sensor óptico.color— Devuelve la coincidencia de color más cercana detectada.brightness— Devuelve el brillo de un objeto detectado.hue— Devuelve el tono de un objeto detectado.rgb— Devuelve los valores RGB detectados por el sensor óptico.installed— Devuelve si un sensor óptico está conectado al cerebro.
Devolución de llamada: ejecuta el código cuando se detecta o se pierde un objeto.
object_detected— Registra una función que se llamará cuando se detecte un objeto.object_lost— Registra una función que se llamará cuando se pierda un objeto.
Constructores: inicializa y configura manualmente un sensor óptico.
Optical— Crea un sensor óptico.
Acciones#
set_light#
set_light establece el LED del sensor óptico en encendido, apagado o un nivel de brillo establecido.
Usage:
optical_1.set_light(state)
Parámetros |
Descripción |
|---|---|
|
El estado para establecer la luz o el porcentaje de potencia en el rango de 0 a 100. El estado puede ser cualquiera de los siguientes: LedStateType.OFF
|
# Turn the LED on and off forever
while True:
optical_1.set_light(LedStateType.ON)
wait(0.5, SECONDS)
optical_1.set_light(LedStateType.OFF)
wait(0.5, SECONDS)
# Turn the LED on and off forever
while True:
optical_1.set_light(100)
wait(0.5, SECONDS)
optical_1.set_light(0)
wait(0.5, SECONDS)
Mutadores#
set_light_power#
set_light_power establece el brillo de la luz del sensor óptico. Si el LED aún no está encendido, este método también encenderá el LED.
Usage:
optical_1.set_light_power(value)
Parámetros |
Descripción |
|---|---|
|
El nivel de potencia para ajustar la luz de 0 a 100 como porcentaje. |
# Turn the LED light on at different
# intensities
optical_1.set_light(LedStateType.ON)
wait(2, SECONDS)
optical_1.set_light_power(10)
wait(2, SECONDS)
optical_1.set_light_power(100)
object_detect_threshold#
object_detect_threshold establece el rango desde el que el sensor puede detectar objetos. Este método también devuelve el umbral recién establecido.
Los números más cercanos a 255 indican un rango más pequeño, mientras que los números más cercanos a 0 indican un rango más grande.
Usage:
optical_1.object_detect_threshold(value)
Parámetros |
Descripción |
|---|---|
|
Un número en el rango de 0 a 255. Un valor de 0 simplemente devolverá el valor actual. |
def detected():
# The Brain will print that an object was detected on
# the Brain's screen.
brain.screen.print("object detected")
brain.screen.next_row()
optical_1.object_detect_threshold(254)
optical_1.object_detected(detected_closer)
def detected_closer():
# Detect an object closer to the sensor.
brain.screen.print("Detected closer")
# Run detected when the Optical Sensor detects an object.
optical_1.object_detect_threshold(100)
optical_1.object_detected(detected)
# Detect an object first with the detect threshold at 100,
# then again at 254
stage = 0
def detected():
global stage
if stage == 0:
brain.screen.print("Get closer...")
brain.screen.next_row()
stage = 1
optical_1.object_detect_threshold(254)
optical_1.object_detected(detected_closer)
def detected_closer():
global stage
if stage == 1:
brain.screen.print("Too close!")
brain.screen.next_row()
stage = 2
optical_1.object_detect_threshold(100)
optical_1.object_detected(detected)
wait(15, MSEC)
Getters#
is_near_object#
is_near_object devuelve si el sensor óptico está cerca de un objeto.
True: el sensor está cerca de un objeto.False: el sensor no está cerca de un objeto.
Usage:
optical_1.is_near_object()
Parámetros |
Descripción |
|---|---|
Este método no tiene parámetros. |
# Stop driving when Optical Sensor is
# near an object
while True:
if optical_1.is_near_object():
drivetrain.stop()
else:
drivetrain.drive(FORWARD)
color#
color devuelve el color predefinido detectado por el sensor óptico de los siguientes colores:
BLACKBLUECYANGREENORANGEPURPLEREDTRANSPARENTWHITEYELLOW
Usage:
optical_1.color()
Parámetros |
Descripción |
|---|---|
Este método no tiene parámetros. |
# Stop the robot if the Optical Sensor
# detects red
while True:
if optical_1.color() == Color.RED:
drivetrain.stop()
else:
drivetrain.turn(RIGHT)
brightness#
brightness devuelve el brillo detectado por el sensor óptico.
Un porcentaje más alto significa que el sensor óptico detecta más luz. Un porcentaje más bajo significa que el sensor óptico detecta menos luz.
Usage:
optical_1.brightness(readraw)
Parámetros |
Descripción |
|---|---|
|
Opcional. Un valor booleano para leer datos de brillo sin procesar en lugar de porcentaje:
|
hue#
hue devuelve el valor del tono detectado por el sensor óptico como un flotador en el rango de 0 a 359,99 grados.
El tono es una forma de describir el color usando números alrededor de una rueda de color, como se muestra a continuación.

Usage:
optical_1.hue()
Parámetros |
Descripción |
|---|---|
Este método no tiene parámetros. |
# Check the hue of a detected object
# to determine if it is pink
while True:
brain.screen.clear_screen()
brain.screen.set_cursor(1, 1)
if 290 < optical_1.hue() < 350:
brain.screen.print("Pink!")
wait(0.1,SECONDS)
else:
brain.screen.print("Not pink.")
wait(0.1,SECONDS)
rgb#
rgb devuelve los valores de rojo, verde, azul y brillo detectados por el sensor óptico como una tupla.
Usage:
optical_1.rgb(raw)
Parámetros |
Descripción |
|---|---|
|
Opcional. Un valor booleano para determinar si devuelve valores sin procesar o procesados:
|
# Display the rgb values and brightness detected
# by the Optical Sensor.
brain.screen.set_font(FontType.MONO12)
while True:
brain.screen.clear_screen()
brain.screen.set_cursor(1, 1)
brain.screen.print(optical_1.rgb())
wait(0.1, SECONDS)
installed#
installed devuelve un booleano que indica si el sensor óptico está conectado al cerebro.
True: el sensor óptico está conectado al cerebro.False— El sensor óptico no está conectado al cerebro.
Usage:
optical_1.installed()
Parámetros |
Descripción |
|---|---|
Este método no tiene parámetros. |
# Display a message if the Optical Sensor
# is installed.
if optical_1.installed():
brain.screen.print("Installed!")
Devolución de llamada#
object_detected#
object_detected registra una función de devolución de llamada para cuando se detecta un objeto.
Usage:
optical_1.object_detected(callback, arg)
Parámetros |
Descripción |
|---|---|
|
Una función que se define previamente para ejecutarse cuando se detecta un objeto. |
|
Opcional. Una tupla que contiene argumentos para pasar a la función de devolución de llamada. Consulte Funciones con parámetros para obtener más información. |
def detected():
drivetrain.stop()
brain.screen.set_cursor(1, 1)
brain.screen.print("object detected")
wait(0.5,SECONDS)
brain.screen.clear_screen()
# Display a message when the
# Optical Sensor detects an object
drivetrain.drive(FORWARD)
optical_1.object_detected(detected)
object_lost#
object_lost registra una función de devolución de llamada cuando el sensor óptico pierde un objeto detectado.
Usage:
optical_1.object_lost(callback, arg)
Parámetros |
Descripción |
|---|---|
|
Una función que se define previamente para ejecutarse cuando se pierde un objeto. |
|
Opcional. Una tupla que contiene argumentos para pasar a la función de devolución de llamada. Consulte Funciones con parámetros para obtener más información. |
def lost():
drivetrain.stop()
brain.screen.set_cursor(1, 1)
brain.screen.print("object lost")
wait(0.5,SECONDS)
brain.screen.clear_screen()
# Display a message when the Optical
# Sensor loses sight of on object
drivetrain.drive(REVERSE)
optical_1.object_lost(lost)
Constructores#
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 PORTx, donde x es el número del puerto. |
# Construct an Optical Sensor "optical_1" with the
# Optical class
optical_1 = Optical(Ports.PORT1)
# Display the brightness of a red object detected
# by the Optical Sensor
drivetrain.turn(RIGHT)
while not optical_1.color() == Color.RED:
wait(50, MSEC)
drivetrain.stop()
brain.screen.print(optical_1.brightness())