第一部分 编程基础 | 第7章:颜色识别
在本章中,你将学习如果通过颜色识别功能来控制机器人。
颜色识别功能小提示
乐高 BOOST 传感器可以识别6种颜色(黑、蓝、绿、黄、红、白),还有一种状态是没有识别到颜色,表示传感器前没有物体被探测到。但是传感器在识别物体颜色时,需要将物体靠的非常近,需要多近? 乐高 BOOST 传感器的有效探测距离是0.3厘米至2厘米(同时别探测物体需要以正确的角度放置),如下图所示,传感器上面的黄色乐高积木用来做一个参照,来让你对传感器的有效探测距离有一个概念。

如果被探测物体的距离超出上述范围,那么探测结果的正确性将无法得到保证,比如有可能将白色的物体识别为黄色。
颜色识别模块
颜色识别模块共有3个,如下所示
模块图标 | 分类 | 说明 |
![]() |
传感器模块 | 当检测到的颜色与设定颜色一致时,触发后续程序执行。 注:LEGO BOOST颜色传感器有效探测距离为0.3厘米到2厘米,在该距离范围内准确性较高(实测探测距离可以到3厘米,但超过2厘米后准确性可能有所下降)。 |
示例 | ![]() | |
示例说明:当颜色传感器探测到红色时,将集线器灯光设置为红色并播放声音。 |
模块图标 | 分类 | 说明 |
![]() |
传感器模块 | 等待直到当检测到的颜色与设定颜色一致时,执行后续程序。 注:LEGO BOOST颜色传感器有效探测距离为0.3厘米到2厘米,在该距离范围内准确性较高(实测探测距离可以到3厘米,但超过2厘米后准确性可能有所下降)。 |
示例 | ![]() | |
示例说明:程序开始后,等待直到颜色传感器探测到红色后,将集线器灯光设置为红色并播放声音。 |
模块图标 | 分类 | 说明 |
![]() |
传感器模块 | 得到传感器当前检测到的颜色。 注:LEGO BOOST颜色传感器有效探测距离为0.3厘米到2厘米,在该距离范围内准确性较高(实测探测距离可以到3厘米,但超过2厘米后准确性可能有所下降)。 |
示例 | ![]() | |
示例说明:根据颜色传感器检测到的颜色来设定集线器LED灯的颜色。 |
搭建颜色控制器
下面是颜色控制器的搭建步骤,我们将用它上面不同颜色的乐高积木来控制马里奥。


颜色指令
在本部分中,我们将利用颜色来控制马里奥在BOOST套装附带的游戏垫上行走。不同颜色对应的指令如下表所示。想要执行对应的指令,就将对应颜色的乐高积木放置在传感器前方。
黄色 | 向前移动一格 |
红色 | 向后移动一格 |
绿色 | 原地右转90度 |
蓝色 | 原地左转90度 |
编程实现
程序如下图所示。请注意紫色的模块为自定义声音模块,在马里奥执行对应的命令前会播放,你可以自行录制自己喜欢的自定义声音。通过自定义声音模块,我们可以得知传感器检测到的是什么颜色。在通过声音得知传感器的颜色检测结果后,将对应颜色的乐高积木从传感器前面移走,此时马里奥将执行对应的指令。在执行动作指令前加了一个0.3秒的延时模块,是为了在你移走对应颜色的乐高积木的时候,传感器不会检测到错误的结果。

测试程序
程序编写往后,点击绿色的开始按钮来启动程序,此时,马里奥将根据颜色来执行对应的指令。你可以尝试让马里奥从起点位置移动到香蕉所在的单元格,马里奥需要的指令依次是:
前进、前进、前进、前进、左转、前进
那么对应的颜色输入分别是:
黄色、 黄色、 黄色、 黄色、 蓝色、黄色
