颜色传感器#

介绍#

颜色传感器类别包含一些模块,用于报告来自 VEX IQ 颜色传感器的颜色信息。这些模块可以让你的机器人检测物体是否存在、识别特定颜色,并返回亮度、色调等视觉数据。

您还可以使用模块来配置传感器内部灯光的亮度。这些工具非常适合需要实时响应彩色物体、光照条件或传感器反馈的程序。

以下是所有模块的列表:

设置颜色灯#

“设置颜色灯光”堆栈模块用于设置颜色传感器灯光的亮度。灯光可以帮助颜色传感器更清晰地检测物体和颜色。

百分比越高,灯光越亮;百分比越低,灯光越暗。

如果颜色传感器的灯熄灭,将灯光功率设置为 0% 以上即可打开灯。

如果颜色传感器的指示灯亮着,将灯光功率设置为 0% 将关闭指示灯。

set [Color1 v] light to (50) %

参数

描述

颜色传感器

设置哪个颜色传感器的灯光亮度,在设备窗口中配置。

亮度

颜色传感器的亮度,取值范围为 0% 到 100%,以整数表示。

例子

when started
[Light up the Color Sensor dimmer.]
set [Color1 v] light to (25) %
wait (2) seconds
[Light up the Color Sensor brighter.]
set [Color1 v] light to (100) %

颜色找到了一个物体?#

“颜色检测到物体?”布尔模块报告颜色传感器是否检测到任何物体。

  • 正确 — 颜色传感器已检测到物体。

  • 错误 — 颜色传感器未检测到物体。

<[Color1 v] found an object?>

参数

描述

颜色传感器

使用哪种颜色传感器,在设备窗口中配置。

例子

when started
[Print a different message when an object is in front of the Color Sensor.]
forever
set cursor to row (1) column (1) on [Brain v]
if <[Color1 v] found an object?> then
print [Object detected] on [Brain v] ▶
else
print [Nothing detected] on [Brain v] ▶
结束
clear row (1) on [Brain v]

颜色检测颜色?#

“颜色检测颜色?”布尔模块报告颜色传感器是否检测到特定颜色。

  • 正确 — 颜色传感器已检测到指定颜色。

  • 错误 — 颜色传感器未检测到指定的颜色。

<[Color1 v] detects [red v]?>

参数

描述

颜色传感器

使用哪种颜色传感器,在设备窗口中配置。

颜色

要检查的颜色:

  • 红色 - 色相值介于 340° 和 20° 之间
  • 绿色 - 色相值介于 80° 和 140° 之间
  • 蓝色 - 色相值介于 201° 和 240° 之间
  • 白色
  • 黄色 - 色相值介于 40° 和 59° 之间
  • 橙色 - 色相值介于 25° 和 30° 之间
  • 紫色 - 色相值介于 280° 和 320° 之间
  • 红紫色 - 色相值介于 320° 和 340° 之间
  • 紫色
  • 蓝紫色 - 色相值介于 240° 和 280° 之间
  • 蓝绿色 - 色相值介于 141° 和 200° 之间
  • 黄绿色 - 色相值介于 60° 和 80° 之间
  • 黄橙色 - 色调值介于 30° 和 39° 之间
  • 红橙色 - 色调值介于 20° 和 25° 之间

例子

when started
[Turn until the Color Sensor detects green.]
turn [right v]
wait until <[Color1 v] detects [green v]?>
stop driving

颜色颜色名称#

颜色名称报告块将颜色传感器检测到的颜色名称以字符串形式报告。

可能的颜色有:

  • 红色的

  • 绿色的

  • 蓝色的

  • 白色的

  • 黄色的

  • 橙子

  • 紫色的

  • 红紫色

  • 紫色

  • 蓝紫色

  • 蓝绿色

  • 黄绿色

  • 黄橙色

  • 红橙色

**注意:**此模块可以插入到 设置触摸 LED 颜色 模块 中,使触摸 LED 与检测到的颜色相匹配。

([Color1 v] color name)

参数

描述

颜色传感器

使用哪种颜色传感器,在设备窗口中配置。

例子

when started
[Stop and print when the Color Sensor detects green.]
turn [right v]
wait until <[Color1 v] detects [green v]?>
stop driving
print ([Color1 v] color name) on [Brain v] ◀ and set cursor to next row

颜色亮度#

颜色亮度报告模块会以百分比(0% 到 100%)报告检测到的颜色的亮度。

百分比越高,表示颜色传感器检测到的光线越多;百分比越低,表示颜色传感器检测到的光线越少。

([Color1 v] brightness in %)

参数

描述

颜色传感器

使用哪种颜色传感器,在设备窗口中配置。

例子

when started
[Stop and print the brightness when the Color Sensor detects green.]
turn [right v]
wait until <[Color1 v] detects [green v]?>
stop driving
print ([Color1 v] brightness in %) on [Brain v] ◀ and set cursor to next row

色调#

色调报告模块将颜色传感器检测到的色调报告为 0 到 359 度之间的数字。

色相是一种用色轮上的数字来描述颜色的方法,如下图所示:

圆形色轮,显示全光谱色调,周边标有度数值,从顶部的 0° 到 360°,以 30 度为增量增加。

([Color1 v] hue in degrees)

参数

描述

颜色传感器

使用哪种颜色传感器,在设备窗口中配置。

例子

when started
[Print when the Color Sensor detects pink.]
forever
clear all rows on [Brain v]
set cursor to row (1) column (1) on [Brain v]
if <<([Color1 v] hue in degrees) [math_greater_than v] [290]> and <([Color1 v] hue in degrees) [math_less_than v] [350]>> then
print [Pink!] on [Brain v] ▶
wait (0.1) seconds
else
print [Not pink.] on [Brain v] ▶
wait (0.1) seconds