EV3 第三期 硬件介绍之颜色传感器
颜色传感器是EV3机器人中非常重要的一个传感器,也是小朋友在应用过程中很容易出错的,下面我就带着大家一起认识下乐高机器人的颜色传感器。
颜色传感器可以检测进入传感器正面小窗口的光线的颜色或强度值。颜色传感器可以在三种不同模式下使用:“颜色”模式、“反射光线强度”模式和“环境光强度”模式。
在使用颜色传感器的时候,一定要注意颜色传感器离被检测物体距离为一个乐高单位时最为合适,还要注意应用时是传感器观察,不是我们的眼睛,所以一定要用传感器检测数据。
“颜色”模式
在“颜色”模式中,颜色传感器可以检测附近物体的颜色或传感器附近表面的颜色。例如,可以使用“颜色”模式检测接近传感器的 LEGO 部件的颜色,或是一张纸上不同标记的颜色。
当颜色传感器处于“颜色”模式时,传感器正面的红色、绿色和蓝色 LED 指示灯会开启。所以我们看到颜色传感器在“颜色”模式下发出的是彩色光。
传感器可以检测七种不同颜色:黑色、蓝色、绿色、黄色、红色、白色和棕色。不是这些颜色之一的物体可能会检测为“无颜色”,或可能检测为相似颜色。所以总共是检测八种颜色,例如,橙色物体可能检测为红色或黄色(具体取决于橙色所含红色的程度),如果橙色非常深或是距离传感器太远,则可能检测为棕色或黑色。
“反射光线强度”模式
在“反射光线强度”模式中,颜色传感器会检测进入传感器的光线的强度。光线的强度测量为从 0 至 100 的百分比,其中 0 表示非常暗,100 表示非常亮。?
? ? ? ? 当颜色传感器处于“反射光线强度”模式时,传感器正面的红色 LED 指示灯会开启。如果传感器接近于物体或表面,则此红色光线会从物体上反射,然后进入要检测的传感器。可以使用此方法测量表面或物体上的颜色阴影,因为较暗颜色阴影会将较少红色光线反射回传感器。?例如,可以使用此模式使机器人跟随白色表面上的黑色线。当传感器越过黑色线时,光线测量会随着传感器越来越接近黑色线而逐渐减小。这可以用于告知机器人与线的接近程度。
“环境光强度”模式
在“环境光强度”模式中,与“反射光线强度”模式一样,颜色传感器会检测进入传感器的光线的强度。光线的强度测量为从 0 至 100 的百分比,其中 0 表示非常暗,100 表示非常亮。?
? ? ? ? 在“环境光强度”模式中,传感器正面的蓝色 LED 指示灯会微弱开启。此蓝色指示灯可帮助识别传感器处于“环境光强度”模式,但是不影响光线测量,除非物体非常接近于传感器。可以使用此模式检测房间灯的亮度,或是其他光源照射到传感器的时间。还可以使用此模式检测房间中灯的开启时间或是手电筒照射到机器人的时间。
颜色传感器可以提供以下数据:
数据 | 类型 | 范围 | 备注 |
---|---|---|---|
颜色 | 数字 | 0-7 | 在“颜色”模式中使用。 0 = 无颜色 1 = 黑色 2 = 蓝色 3 = 绿色 4 = 黄色 5 = 红色 6 = 白色 7 = 棕色 |
光线 | 数字 | 0-100 | 在“反射光线强度”和“环境光强度”模式中使用。以百分比形式测量光线强度,0 = 最暗,100 = 最亮。 |
示例1:
此程序使机器人驱动,直至颜色传感器检测到红色,然后停止。此程序在“颜色传感器 - 比较 - 颜色”模式中使用等待模块测试红色。
示例2:
此程序使机器人驱动,直至颜色传感器检测到深色,然后停止。此程序在“颜色传感器 - 比较 - 反射光线强度”模式中使用等待模块等到光线强度小于 50%。
示例3:
此程序使机器人在房间灯关闭时驱动,在开启灯时停止。此程序将切换与“颜色传感器 - 比较 - 环境光强度”模式一起使用以测试光线是否强于30%。“切换”选择是开启还是关闭电机。“切换”在循环中重复执行,以便机器人持续响应光线变化。
下表显示可以与颜色传感器一起使用的所有编程模块和模式。
模块 | 模式 | 用途 |
---|---|---|
等待 | 颜色传感器 - 比较 - 颜色 | 等待传感器检测到所选颜色之一。 |
等待 | 颜色传感器 - 比较 - 反射光线强度 | 等待反射光线强度达到特定值。 |
等待 | 颜色传感器 - 比较 - 环境光强度 | 等待环境光强度达到特定值。 |
等待 | 颜色传感器 - 更改 - 颜色 | 等待检测到的颜色更改。 |
等待 | 颜色传感器 - 更改 - 反射光线强度 | 等待反射光线强度按特定量更改。 |
等待 | 颜色传感器 - 更改 - 环境光强度 | 等待环境光强度按特定量更改。 |
循环 | 颜色传感器 - 颜色 | 重复模块序列,直至检测到所选颜色之一。 |
循环 | 颜色传感器 - 反射光线强度 | 重复模块序列,直至反射光线强度达到特定值。 |
循环 | 颜色传感器 - 环境光强度 | 重复模块序列,直至环境光强度达到特定值。 |
切换 | 颜色传感器 - 测量 - 颜色 | 根据检测到的颜色在两个或更多不同模块序列中选择。 |
切换 | 颜色传感器 - 比较 - 颜色 | 根据是否检测到所选颜色之一在两个模块序列中选择。 |
切换 | 颜色传感器 - 比较 - 反射光线强度 | 根据反射光线强度在两个模块序列中选择。 |
切换 | 颜色传感器 - 比较 - 环境光强度 | 根据环境光强度在两个模块序列中选择。 |
颜色传感器 | 测量 - 颜色 | 测量检测到的颜色 (0-7) 并通过数字数据线获取结果。 |
颜色传感器 | 测量 - 反射光线强度 | 测量反射光线强度 (0-100) 并通过数字数据线获取结果。 |
颜色传感器 | 测量 - 环境光强度 | 测量环境光强度 (0-100) 并通过数字数据线获取结果。 |
颜色传感器 | 比较 - 颜色 | 将检测到的颜色与一个或多个所选颜色进行比较,并通过逻辑数据线获取结果(如果它与任何所选颜色匹配,则为“真”)。 |
颜色传感器 | 比较 - 反射光线强度 | 将反射光线强度与阈值进行比较,并通过逻辑数据线获取结果。 |
颜色传感器 | 比较 - 环境光强度 | 将环境光强度与阈值进行比较,并通过逻辑数据线获取结果。 |