四、智能汽车

第13课 颜色传感器测试

任务场景:颜色传感器测试
任务场景:颜色传感器测试

一、任务目标

I2C 颜色传感器循环打印 color()。完整代码拆成 R/G/B,比较后打印偏红/偏绿/偏蓝(偏绿必须 G 同时大于 R 和 B)。

二、我们要学什么

  • 学习要点:先读出颜色元组,再比较哪一分最大
  • 本课过关:能指出体验只打印原始数据;分色判断是完整代码。
  • 示例对齐:体验题对应 「4-1-1 颜色传感器测试」;完整代码对应 「4-1-2 颜色传感器简单应用」。

三、本节要点

先看打印的三元组会不会随色卡变,再谈偏色。

1读场景明确真实任务
2对要点先打印颜色数据
3载入运行本课积木/代码

四、解题思路

  • 输入:UCS12071 color()。
  • 输出:串口打印。
  • 生活对照:先校准读数,再判断红绿蓝。
  • 验证现象:换色卡时打印的数应变。

本课主要用到:I2C 颜色传感、打印。

  1. 1初始化 I2C 与传感器。
  2. 2打印 color()。
  3. 3sleep(1)。
  4. 4完整代码再比 R/G/B。

流程示意(可对照左侧文字)

任务:颜色传感器测试…搭出主循环,让程序一直运行…加入延时(约1秒/单位),…载入官方示例后先点运行,对…

五、图形块功能讲解

下面只列出本课首次出现的 Mixly 图形块(真积木截图)。已在前面课讲过的不再重复;先认新块,再点「载入」对照拖搭。

图形块分类作用本课用法
打印输出
串口在控制台打印一行信息,便于调试。体验:print(color())。
外接颜色/光照
板载传感读取外接光学传感器。工具箱对照外接光学。
转为元组
元组把其它序列转成元组。完整代码 tuple(color())。
取元组项
元组按位置取值。完整代码取 R/G/B。

六、知识点讲解

本课核心是先读再判。体验不判断颜色名;完整代码谁最大就算偏哪色,偏绿要 G>R 且 G>B。

color()

返回 (R, G, B) 颜色数据。

偏红

R 大于 G 且 R 大于 B。

偏绿

G 大于 R 且 G 大于 B。

  • 过关:能说出体验为什么没有「偏红」三个字。

先弄清本课输入与输出,再进编程练习对照现象。

七、编程练习

点「载入」打开 MixVM(board=mixgo_zero_design)。外设课会自动导入对应外接模块到右侧仿真。在 Mixly 工具栏点「运行 / 停止」,「检查」做关键字核对。请先读本页「四、解题思路」与「五、图形块功能讲解」,再点载入。

4-1-1 颜色传感器测试.mix。载入后运行。

八、课堂练习

先完成两道判断题,再完成选择题;全部选定后点「检查」。

  1. 判断:体验程序会打印「偏红」「偏绿」「偏蓝」。

  2. 判断:完整代码偏绿的条件应同时大于 R 和 B。

  3. 体验每秒打印的是?

  4. 偏蓝应满足?

九、本节小结

记住:体验只打印数据;偏色判断是 4-1-2。