Skip to content

3.16 节奏打鼓手

3.16.1 造型介绍

  这是一台会“听令打鼓”的智能打鼓手,上电后进入待命状态。WonderLLM大模型支持任意语音指令控制打鼓动作,同时可播放随机音乐,用户发出指令即可控制打鼓手敲击鼓面,伴随随机音乐的播放和停止,就像一位充满激情的摇滚鼓手,用语音指挥奏出节奏感十足的鼓点乐章。

3.16.2 学习目标

  1. 认识360°积木舵机与 WonderLLM 联网大模型模块,掌握 micro:bit 扩展板多模块联动控制方法。

  2. 理解语音指令解析与舵机运转、音乐播放的协同逻辑,学会实现语音控制打鼓与音乐启停的功能。

3.16.3 造型搭建

PDF 未正常显示? 在新窗口打开

3.16.4 模式切换

本造型需要用在线大模型,如果已经进入在线大模型模式即可跳过此步骤直接进入设备接线步骤,否则请参考"4.5.10 模式切换"重新烧录对应固件。

3.16.4 设备接线

将 WonderLLM 模块接线插入 micro:bit 扩展板 接口;

将360°积木舵机接线插入 micro:bit 扩展板 接口,舵机 接线插入 S1 的 引脚处。

如图所示:

3.16.6 程序编写

(1) 程序原理图

(2) 核心代码块解析

指令块所在类别功能说明
对比两个数值是否相等,返回布尔结果
定义/获取用于存储数据的变量
对自定义变量进行赋值操作
初始化 DaDabit 模块,为后续使用做准备。
初始化 WonderLLM 接口,建立模块通信连接。
配置 AI 模块可调用的自定义功能工具参数
向 AI 模块同步 MCP 工具配置信息
读取 AI 模块调用工具后传回的运行数据
根据指定的键,从目标字典中提取对应的数字类型数值并返回
告知 AI 模块单次工具调用流程结束
控制指定接口的360°积木舵机的运行方向与速度
判断目标文本内是否包含指定字符

(3) MCP工具参数配置

  • 工具名称:self.robot.setMusic
  1. 工具描述:You can control the start and stop of the drumming. The parameters are as follows: 1 is returned when starting the drumming, and 0 is returned when stopping.

    简述:你可以控制鼓声的开始和停止。参数如下:开始打鼓时返回1,停止时返回0。

  2. AIModule返回参数:[["music", "int", "0", "0", "1"]]

    注意:字段名 music,整型,第一个 0 为默认值,第二个 0 为最小值,1 为最大值。

  3. 是否阻塞直到调用完成:true

  4. 是否有数据返回给AIModule:false

  5. 功能:这段 MCP 配置是给 AI 模块定义节奏打鼓手的开关控制工具:让 AI 能下发 0 或 1 指令控制打鼓动作的启停(启动返回 1,停止返回 0),调用时程序会等待操作执行完毕,且无需向 AI 回传额外运行数据。

(4) 完整程序展示

  1. 上电初始化 DaDabit 扩展库、WonderLLM 模块的硬件接口为 6,开启 MCP 工具并配置 setMusic 开关参数;

  2. 程序循环接收大模型下发 0/1 控制参数,读取工具运行数据;

  3. 参数为 1 时 360° 积木舵机往复击打模拟打鼓,参数为 0 时舵机停止运转;

  4. 单次击打动作阻塞执行完成,设备复位重新监听语音语义指令。

程序链接:https://makecode.microbit.org/_PKcLgPMpELcV 你也可以通过以下网页直接下载程序:

表单未正常显示? 在新窗口打开

3.16.7 程序下载

3.16.8 扩展提升

项目一:鼓点光影舞台效果

  击打鼓面时 RGB 红白交替闪烁,点阵固定爱心图案,不同鼓段切换配套乐曲,练习舵机动作同步声光特效。

项目二:按键切换节奏

  短 A 慢速鼓点、短 B 快速鼓点,两种节奏搭配不同灯光闪烁频率,停机一键复位,掌握按键切换运动参数、频率控制逻辑。

3.16.9 技术支持与产品讨论

如果您在产品使用过程中遇到困难,欢迎您通过如下方式向我们反馈:

表单未正常显示? 在新窗口打开

如果您在产品体验后有更好的创意,欢迎您进入幻尔社区将您的创意分享: