三、智慧家居

第12课 声控灯

任务场景:声控灯
任务场景:声控灯

一、任务目标

语音模块(I2C 脚 16/17,接 U3)识别指令:23 按当前亮度开 USB 灯,25 加亮,26 减暗,24 关闭;点阵显示亮度。完整代码改为播报主板温度和外接光照,不再控灯。

二、我们要学什么

  • 学习要点:先识别指令编号,再改亮度或开关
  • 本课过关:能指出体验用 23/24/25/26 控灯;播报温光是完整代码。
  • 示例对齐:体验题对应 「3-4-1 声控灯」;完整代码对应 「3-4-2 语音交互」。

三、本节要点

亮度初值 20,范围 0~100。点阵每圈显示亮度。

1读场景明确真实任务
2对要点语音编号控制亮度
3载入运行本课积木/代码

四、解题思路

  • 输入:CI130X 指令编号。
  • 输出:体验:USB 灯占空比 + 点阵亮度。完整代码:语音播报。
  • 生活对照:对灯说开、关、亮一点、暗一点。
  • 验证现象:对应指令后面板亮度数字应变。

本课主要用到:语音模块、USB 电源输出、点阵;完整代码另接光照传感器。

  1. 1usben(2,0) 先关。
  2. 2cmd_id() 识别。
  3. 323 开、24 关、25/26 ±10。
  4. 4shows(亮度)。

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

任务:声控灯搭出主循环,让程序一直运行…判断传感或变量是否达到阈值…把计算结果映射到可观察输出…载入官方示例后先点运行,对…

五、图形块功能讲解

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

图形块分类作用本课用法
电源输出开关
板载执行控制扩展电源输出。usben(2, 亮度) 或 0。
识别并保存
语音识别语音并保存结果。cmd_id()。
是否识别到语音
语音查询是否命中语音指令。result(23/24/25/26)。
语音播报
语音播报指定语音内容。完整代码 play 温度/光照。
板载温度
板载传感读取主板温度传感器。完整代码 mcu_temperature()。
光照传感器
外接传感读取外接光照。完整代码 lsensor.getdata(),传感器接 P16/P17。

六、知识点讲解

本课核心是指令编号:模块认出的是数字,不是汉字本身。23 开、24 关、25 加、26 减。

亮度

初值 20,min 100,max 0。

点阵

每圈 shows(亮度)。

完整代码

56/58 播报温度和光照。

  • 过关:能对上四个编号。

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

七、编程练习

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

3-4-1 声控灯.mix。载入后运行。

八、课堂练习

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

  1. 判断:体验识别到 24 会把灯开到最亮。

  2. 判断:亮度每次加减 10,并限制在 0~100。

  3. 开灯对应的 result 编号是?

  4. 完整代码主要演示?

九、本节小结

记住:体验用 23~26 控灯;播报是完整代码。