颜色传感器#

介绍#

颜色传感器是一种光学传感器,可以检测表面颜色、测量光照水平并感知附近的物体。它内置一个 LED,用于照亮表面,从而提高检测的准确性。

以下是所有方法的列表:

方法

方法——检测颜色、光照水平、附近物体,并控制内置 LED。

  • hue – 以浮点数形式返回检测到的色调值,范围是 0 到 359.99 度。

  • 亮度 – 以百分比返回检测到的亮度。

  • color – 以字符串形式返回检测到的颜色的十六进制代码。

  • is_near_object – 返回物体是否在传感器范围内。

  • set_light – 打开、关闭颜色传感器的 LED,或将其设置为设定的亮度级别。

  • set_light_power – 设置颜色传感器 LED 的亮度。

  • installed – 返回颜色传感器是否连接到大脑。

构造函数——手动初始化和配置颜色传感器。

色调#

hue 将检测到的色调值以浮点数形式返回,范围在 0 到 359.99 度之间。

用法:
hue()

参数

描述

该方法没有参数。

# 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)

亮度#

brightness 以百分比形式返回检测到的亮度。

用法:
brightness()

参数

描述

该方法没有参数。

# 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)

颜色#

color 会以字符串形式返回检测到的颜色的十六进制代码,格式为“Color”后跟两个零以及颜色的十六进制值。例如,检测到红色 (#FF0000) 会返回“Color 00FF0000”。

用法:
color()

参数

描述

该方法没有参数。

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

靠近物体#

is_near_object 返回一个布尔值,指示颜色传感器是否位于距离物体约 57 毫米(2.25 英寸)的范围内。检测依赖于反射光,因此可能无法可靠地检测到黑暗或无反射的表面。

  • “真”-检测到的物体距离约为 57 毫米以内。

  • “错误”- 检测到的物体不在约 57 毫米范围内。

用法:
is_near_object()

参数

描述

该方法没有参数。

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

设置灯光#

set_light 打开或关闭颜色传感器的 LED。

用法:
set_light(值,单位)

参数

描述

价值

使用以下方式之一指定是否打开或关闭 LED:

  • LedStateType.ON – 将 LED 亮度设置为 100%。2
  • LedStateType.OFF` – 将 LED 亮度设置为 0%。4
  • 或者,可以使用 0 到 100 之间
百分比来设置 LED 亮度。值为 0 时 LED 关闭;任何大于 0 的值都会以该亮度打开 LED。

单位

可选。表示亮度值的单位: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 设置颜色传感器 LED 的亮度。如果 LED 尚未亮起,此方法也会将其亮起。

用法:
set_light_power(value)

参数

描述

价值

LED 的亮度以 0 到 100 的百分比表示。值为 0 时 LED 熄灭。

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

已安装#

installed 返回一个布尔值,指示颜色传感器是否连接到大脑。

  • “真”——颜色传感器已连接到大脑。

  • “错误”——颜色传感器未连接到大脑。

用法:
installed()

参数

描述

该方法没有参数。

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

构造函数#

构造函数用于手动创建“ColorSensor”对象,这对于在 VEXcode 之外配置颜色传感器是必需的。

对于下面的示例,配置的颜色传感器将被命名为“color_1”,并且在整个 API 文档的所有后续示例中引用“ColorSensor”类方法时将使用它。

颜色传感器#

ColorSensor 创建一个颜色传感器。

用法:
ColorSensor(port)

范围

描述

端口

颜色传感器连接到哪个智能端口,以“PORT”表示,后跟端口号,范围从 1 到 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)