Sensor óptico#

Introducción#

El Sensor Óptico EXP detecta el color, el brillo y la presencia de objetos cercanos mediante una combinación de un sensor de color RGB y un sensor de proximidad. Además, puede usar su LED integrado para iluminar los objetos y lograr una detección más precisa.

El sensor óptico VEX EXP.

This page uses optical_sensor as the example Optical Sensor name. Replace it with your own configured name as needed.

A continuación se muestra una lista de los métodos disponibles:

  • set_light – Turns the Optical Sensor’s LED on or off.

  • set_light_power – Sets the Optical Sensor’s light power level.

  • is_near_object – Returns whether the Optical Sensor detects an object within range.

  • color – Returns the color detected by the Optical Sensor.

  • brightness – Returns the amount of light reflected from the object.

  • hue – Returns the hue detected by the Optical Sensor.

  • object_detected – Registers a function to be called when the Optical Sensor detects an object.

  • object_lost – Registers a function to be called when the Optical Sensor loses an object.

Constructor: Inicializa manualmente un sensor óptico.

  • Optical – Creates an Optical Sensor.

establecer_luz#

set_light turns the Optical Sensor’s LED on or off. This can help increase the sensor’s accuracy when detecting colors.

Usage:
optical_sensor.set_light(state)

Parámetros

Descripción

estado

Sets the LED on or off. LEDStateType.ON turns the light on at 100% brightness. LEDStateType.OFF turns it off.

# Turn on the sensor's LED
optical_sensor.set_light(LEDStateType.ON)

encender_luz#

set_light_power sets the brightness of the Optical Sensor’s LED. The light can help the Optical Sensor detect objects and colors more clearly.

If the Optical Sensor’s light is off, setting the light power above 0% will turn the light on.

If the Optical Sensor’s light is on, setting the light power at 0% will turn the light off.

A higher percentage makes the light brighter. A lower percentage makes the light dimmer.

Usage:
optical_sensor.set_light_power(percent, units)

Parámetros

Descripción

por ciento

The brightness to set the LED to as a whole number.

unidades

Optional. The unit to represent the brightness: PERCENT

# Turn on the sensor's light at half brightness
optical_sensor.set_light_power(50, PERCENT)

is_near_object#

is_near_object returns a Boolean indicating whether or not the Optical Sensor detects an object within range.

  • True – The Optical Sensor detects an object.

  • False – The Optical Sensor does not detect an object.

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 returns an instance of a Color class, based on the detected hue value. These can be compared to predefined Color objects to create conditional statements.

Los colores posibles son:

  • Color.BLACK

  • Color.WHITE

  • Color.RED - A hue value between 340° - 20°

  • Color.GREEN - A hue value between 80° - 140°

  • Color.BLUE - A hue value between 200° - 240°

  • Color.YELLOW - A hue value between 40° - 60°

  • Color.ORANGE - A hue value between 20° - 40°

  • Color.PURPLE - A hue value between 240° - 280°

  • Color.CYAN - A hue value between 140° - 200°

Note: The Optical Sensor is looking for hue ranges that match the specified color. For detecting specific hue ranges, see 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#

brightness returns the amount of light reflected from the object as a decimal (float) representing a percent.

A higher percentage means more light is reflected back to the Optical Sensor. A lower percentage means less light is reflected back.

Usage:
optical_sensor.brightness()

Parámetros

Descripción

Este método no tiene parámetros.

matiz#

hue returns the hue value of the detected color as a decimal (float) from 0 to 359.

Hue is a way to describe color using numbers around a color wheel.

La rueda de colores VEX que muestra los grados de los colores alrededor de un círculo, con el rojo en 0 grados y haciendo la transición a través del arco iris a medida que aumenta el valor.

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!")

objeto_detectado#

object_detected registers a function to be called whenever the Optical Sensor detects a new object.

Usage:
optical_sensor.object_detected(callback, arg)

Parámetros

Descripción

callback

Una función definida previamente que se ejecuta cuando el sensor óptico detecta un nuevo objeto.

arg

Optional. A tuple containing arguments to pass to the callback function. See Using Functions with Parameters for more information.

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)

objeto_perdido#

object_lost registers a function to be called whenever the Optical Sensor loses a detected object.

Usage:
optical_sensor.object_lost(callback, arg)

Parámetros

Descripción

callback

Una función definida previamente que se ejecuta cuando el sensor óptico pierde un objeto detectado.

arg

Optional. A tuple containing arguments to pass to the callback function. See Using Functions with Parameters for more information.

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#

Constructors are used to manually create Optical objects, which are necessary for configuring an Optical Sensor outside of VEXcode.

Optical#

Optical creates an Optical Sensor.

Usage:
Optical(smartport)

Parámetro

Descripción

smartport

The Smart Port that the Optical Sensor is connected to, written as Ports.PORTx where x is the number of the port.

# Create an Optical Sensor in Port 10
optical_sensor = Optical(Ports.PORT10)