单元三
第10课 颜色检测

一、任务目标
用颜色检测统计画面里红色块的个数,有块就发声,完整程序再按个数点亮彩灯。
二、我们要学什么
- 学习要点:颜色检测|范围内的色块个数
- 本课过关:能完成:说出颜色检测是登记一种颜色范围,再数画面里有几块;载入编程体验,指出有红色块时串口打印个数,蜂鸣器响约 200 毫秒;再运行完整程序,指出还会先清彩灯,再按个数(最多 4 颗)点亮白色。
- 示例对齐:编程体验对应 「十学期兴趣课程/学期5/3-3-1 图像识别-颜色检测」;完整程序对应 「十学期兴趣课程/学期5/3-3-2 图像识别-颜色检测改进」。
三、本节要点
本课要认识颜色检测:先登记红色范围,再数色块。重难点是分清两套——编程体验有块就打印并发声;完整程序再按个数点亮最多 4 颗彩灯。要点对齐「颜色检测|范围内的色块个数」。
1读场景明确真实任务
2对要点颜色检测|范围内的色块个数
3载入运行官方积木/代码
四、解题思路
任务:用两套程序认识颜色检测。编程体验有红块就打印、发声;完整程序再按个数点亮彩灯。请对照串口、喇叭和彩灯。
本课主要用到:摄像头;喇叭;板载彩灯(完整程序);串口。
- 1创建摄像头,并建立颜色检测模型。
- 2登记红色范围,名称写成 red。
- 3循环检测,得到色块个数 x。
- 4有块时打印「红色块个数」并发声约 200 毫秒。
- 5完整程序再按 min(x,4) 点亮白色彩灯。
流程示意
五、图形块功能讲解
下面只列出本课首次出现的 Mixly 图形块(真积木截图)。已在前面课讲过的不再重复;先认新块,再点「载入」对照拖搭。
| 图形块 | 分类 | 作用 | 本课用法 |
|---|---|---|---|
![]() | 板载智能 | 简化参数初始化摄像头 AI。 | 两套都按摄像头宽高建立 ColorDetector。 |
![]() | 板载智能 | 简化固定区域色块登记。 | 登记红色范围,名称 red。后面都数这个范围里的块。 |
![]() | 板载智能 | 检测到的色块个数。 | 循环得到红色块个数 x。有块才进入打印、发声。 |
![]() | 文本 | 在控制台打印一行信息,便于调试。 | 有块时打印「红色块个数:」加上 x。 |
![]() | 板载执行 | 按音调与时长播放一声。 | 有块时音调 659、时长约 200 毫秒。 |
![]() | 输入/输出 | 把内容显示到输出区。 | 把「红色块个数:」这段文字送到串口。 |
![]() | 其它 | 本课程序中用到的积木,载入后可在工具箱中对照名称查看。 | 完整程序用 min(x,4),彩灯最多点 4 颗。 |
| 板载执行 | 为板载 RGB 灯带中某一颗指定颜色。 | 完整程序按下标点亮前 min(x,4) 颗白色。体验不用。 |
六、知识点讲解
颜色检测先登记一种颜色范围,再问画面里有几块落在这个范围内。它数的是色块个数,不是物体名称。
| 知识点 | 本课怎么理解 |
|---|---|
| 颜色范围 | register_color 写下限、上限和名称 red。光线一变,同样的实物可能数不准,要对照现场。 |
| 检测个数 | simple_run 的结果 x 为真时表示检测到块;打印的是个数。 |
| 发声提示 | 两套在有块时都 pitch_time(659, 200),用短声提示「看到了」。 |
| 个数映射到灯 | 完整程序先 fill 白色再按 min(x,4) 点亮前几颗,最多 4 颗。 |
先看串口个数和短声,再看完整程序的彩灯颗数是否跟着个数变。
七、编程练习
点「载入」打开 MixVM(board=sant_design)。默认图形化积木;起步程序与积木优先来自 MixGo Sant「十学期兴趣课程/学期5」。语音/视觉在仿真中可能需真机或按键近似;在 Mixly 工具栏点「运行 / 停止」。请先读本页「四、解题思路」与「五、图形块功能讲解」,再点载入。
官方示例:3-3-1 图像识别-颜色检测.mix。载入后运行。
正在载入编程环境
正在载入 MixGo SANT 仿真编程环境…
八、课堂练习
先完成两道正误判断,再做其余题目;选出后点「检查」。
判断:编程体验检测到红色块时会打印个数,并让蜂鸣器响约 200 毫秒。
判断:编程体验也会按红色块个数点亮最多 4 颗彩灯。
本课「颜色检测」统计的是?
完整程序点亮彩灯的颗数上限是?
两套程序在有红色块时都会?
九、本节小结
本课认识颜色检测。编程体验有红块就打印、发声;完整程序再按个数点亮最多 4 颗彩灯。






