二、智慧照明
第8课 声音大小测试
一、任务目标
理解先把声音量打印出来,能读出声音量数字,并说明为什么要先观察再设条件。
二、我们要学什么
- 学习要点:先打印声音量,确认拍手/说话时数字会变;阈值开灯在完整代码/第 9 课
- 本课过关:能完成:安静与发声时,输出区声音量数字能看出差别。
- 示例对齐:体验题对应 「2-3-1 声音大小测试」;完整代码对应 「2-3-2 声控灯」。
三、本节要点
本节抓住「先读出声音量」。体验题 2-3-1 只打印数字;灯随声音变是完整代码 2-3-2 或第 9 课。
四、解题思路
- 输入:声音传感(声音量数值)。
- 输出:输出区里的声音量数字。
- 生活对照:把「有多吵」变成看得见的亮暗。
- 验证现象:安静时数字较低;对着板子发声后数字升高。
本课主要用到:声音传感、打印输出。
- 1明确任务「声音大小测试」:输入是声音量,输出是打印到输出区的数字。
- 2用「重复执行」搭出主循环,让程序一直运行,而不是只执行一次就结束。
- 3加入延时(约 1 秒/单位),控制节奏,避免画面闪太快或采样过密。
- 4载入后先看输出区数字;再对比安静与发声。
流程示意(可对照左侧文字)
五、图形块功能讲解
下面只列出本课首次出现的 Mixly 图形块(真积木截图)。已在前面课讲过的不再重复;先认新块,再点「载入」对照拖搭。
| 图形块 | 分类 | 作用 | 本课用法 |
|---|---|---|---|
![]() | 串口 | 在控制台打印一行信息,便于调试。 | 体验每秒 print(soundlevel())。 |
![]() | 板载传感 | 读取麦克风音量大小。 | 本课只读出数字;比较开灯在第 9 课。 |
![]() | 逻辑 | 比较两个值(大于/等于/小于等),得到真或假。 | 体验题不用比较;完整代码 2-3-2 才用「声音 > 2500」。 |
六、知识点讲解
先把声音量打印出来。体验题没有开灯、没有条形;不看数字就谈「有声音」,后面阈值没法对。声音量是数:麦克风给出的是可以比较、可以映射的数。先打印或显示这个数,确认说话、拍手时它会变大。阈值留到后面:完整代码 2-3-2 才出现「声音 > 2500 则改灯」。本课过关只要求能读出数字、看出变化。看见数字:输出区里的数就是「有多响」。先对齐安静/发声两组数,再去写灯。
对照与过关:对照:安静时数字较低;对着板子发声后数字升高。能读出声音量数字,并说明为什么要先观察再设条件。能读出声音量之后,下一课用它作为楼道灯的触发条件。
七、编程练习
点「载入」打开 MixVM(board=mini_design)。默认图形化积木;起步程序与积木均来自 MixGo MINI 兴趣课程/学期1。在 Mixly 工具栏点「运行 / 停止」,「检查」做关键字核对。请先读自学精讲与解题思路,再点载入。
兴趣课程:2-3-1 声音大小测试.mix。载入后运行。
正在载入编程环境
正在载入 MixGo MINI 仿真编程环境…
八、课堂练习
先完成两道判断题,再完成选择题;全部选定后点「检查」。
判断:不必读取声音量数值,凭听感判断「有声音」即可设置控制条件。
判断:应先观察声音量数字随环境的变化,再去写「超过多少就开灯」。
本课的输入来自哪一项?
环境安静时输出区数字仍然很大,应优先检查什么?
九、本节小结
本课主题是声音采集:先读出声音量,确认拍手或说话时数字会变。体验程序循环打印声音量;完整程序在声音超过阈值后开灯。阈值开灯也可对照第 9 课楼道灯。


