Color#

Introduction#

The Color Sensor is an optical sensor that can detect surface colors, measure light levels, and sense nearby objects. It includes a built-in LED to illuminate surfaces for more accurate detection.

For the examples below, the configured Color Sensor will be named color_1 and will be used in all subsequent examples throughout this API documentation when referring to ColorSensor class methods.

Below is a list of all methods:

Actions – Detect objects with the Color Sensor.

Mutators – Modify the lights on the Color Sensor.

  • set_light – Turns the Color Sensor’s LED on, off, or to a set brightness level.

  • set_light_power – Sets the brightness of the Color Sensor’s LED.

**Getters – Return object data with the Color Sensor.**x

  • is_near_object – Returns whether an object is within range of the sensor.

  • color – Returns the hex code of the detected color as a string.

  • brightness – Returns the detected brightness as a percent.

  • hue – Returns the detected hue value as a float from 0 to 359.99 degrees.

  • installed – Returns whether the Color Sensor is connected to the Brain.

Constructors – Manually initialize and configure a Color Sensor.

Actions#

object_detected#

object_detected registers a function to be called when the Color Sensor detects an object.

Usage:
color_1.object_detected(callback, args)

Parameters

Description

callback

A function that is previously defined to execute when the Bumper Switch is released.

arg

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

# Example coming soon

Mutators#

set_light#

set_light turns the Color Sensor’s LED on or off.

Usage:
color_1.set_light(value, units)

Parameters

Description

value

Specifies whether to turn the LED on or off using one of the following:

  • LedStateType.ON – Sets the LED’s brightness to 100%.
  • LedStateType.OFF – Sets the LED’s brightness to 0%.
Alternatively, a percent from 0 to 100 can be used to set the LED brightness. A value of 0 turns the LED off; any value above 0 turns it on at that brightness.

units

Optional. The unit that represents the brightness value: PERCENT.

# Turn the LED on and off forever
while True:
    color_1.set_light(LedStateType.ON)
    wait(0.5, SECONDS)
    color_1.set_light(LedStateType.OFF)
    wait(0.5, SECONDS)

set_light_power#

set_light_power sets the brightness of the Color Sensor’s LED. If the LED is not already on, this method will also turn the LED on.

Usage:
color_1.set_light_power(value)

Parameters

Description

value

The brightness of the LED as a percent from 0 to 100. A value of 0 turns the LED off.

# Turn the LED light on at different intensities
color_1.set_light_power(10)
wait(2, SECONDS)
color_1.set_light_power(100)

Getters#

is_near_object#

is_near_object returns a Boolean indicating whether the Color Sensor is within approximately 57 millimeters (2.25 inches) of an object. Detection depends on reflected light, so dark or non-reflective surfaces may not be detected reliably.

  • True - The detected object is within approximately 57 millimeters.

  • False - The detected object is not within approximately 57 millimeters.

Usage:
color_1.is_near_object()

Parameters

Description

This method has no parameters.

# Stop driving when the Color Sensor is 
# near an object
while True:
    if color_1.is_near_object():
        drivetrain.stop()
    else:
        drivetrain.drive(FORWARD)

color#

color returns the hex code of the detected color as a string in the format “Color” followed by two zeros and the color’s hex value. For example, detecting red (#FF0000) would return “Color 00FF0000”.

Usage:
color_1.color()

Parameters

Description

This method has no parameters.

# Display the detected hex value
while True:
    brain.screen.clear_screen()
    brain.screen.set_cursor(1, 1)
    brain.screen.print(color_1.color())
    wait(0.5,SECONDS)

brightness#

brightness returns the detected brightness as a percent.

Usage:
color_1.brightness()

Parameters

Description

This method has no parameters.

# Display the currently 
# detected brightness
while True:
    brain.screen.clear_screen()
    brain.screen.set_cursor(1, 1)
    brain.screen.print("Brightness:")
    brain.screen.next_row()
    brain.screen.print(color_1.brightness())
    wait(0.5,SECONDS)

hue#

hue returns the detected hue value as a float in the range of 0 to 359.99 degrees.

Usage:
color_1.hue()

Parameters

Description

This method has no parameters.

# Display the currently detected hue 
# of the sensor
while True:
    brain.screen.clear_screen()
    brain.screen.set_cursor(1, 1)
    brain.screen.print("Hue: ")
    brain.screen.print(color_1.hue())
    wait(0.5,SECONDS)

installed#

installed returns a Boolean indicating whether the Color Sensor is connected to the Brain.

  • True - The Color Sensor is connected to the Brain.

  • False - The Color Sensor is not connected to the Brain.

Usage:
color_1.installed()

Parameters

Description

This method has no parameters.

# Display a message if the Color Sensor
# is installed.
if color_1.installed():
    brain.screen.print("Installed!")

Constructors#

Constructors are used to manually create ColorSensor objects, which are necessary for configuring a Color Sensor outside of VEXcode.

ColorSensor#

ColorSensor creates a Color Sensor.

Usage:
color_1 = ColorSensor(port)

Parameter

Description

port

Which Smart Port that the Color Sensor is connected to as PORT followed by the port number, ranging from 1 to 12.

# Construct a Color Sensor "color_1" with the
# ColorSensor class.
color_1 = ColorSensor(Ports.PORT1)

while True:
    brain.screen.clear_screen()
    brain.screen.set_cursor(1, 1)
    brain.screen.print(color_1.color())
    wait(0.5,SECONDS)