动手制作
用 micro:bit CreateAI 制作拍手开灯挥手关灯的 AI 灯开关

完整中文导读
micro:bit 官方发布 AI light switch 项目指南,用 micro:bit CreateAI 训练识别拍手、挥手和静止三种动作的机器学习模型,再配合 MakeCode 程序通过无线电信号控制另一块 micro:bit 的 LED 显示,拍手发送 lightsOn 点亮全部 LED,挥手发送 lightsOff 清空屏幕。
中文整理
作者 / 来源:micro:bit · 原文时间未提供
原作者信息要点
项目目标:用 micro:bit CreateAI 训练机器学习模型识别拍手和挥手,配合 MakeCode 程序,拍手时向另一块 micro:bit 发送 lightsOn 无线电信号,挥手时发送 lightsOff 信号。接收端收到 lightsOn 时点亮全部 LED,收到 lightsOff 时清空 LED 显示。
材料对机器学习的说明:机器学习是人工智能的一种,计算机可从数据中学习并据此做决策;模型由人类训练,用于识别不同动作。
所需器材:两块 micro:bit V2、USB 线、一到两个电池盒;可访问 micro:bit CreateAI 网站的电脑(台式机、笔记本或 Chromebook),使用 Chrome 或 Edge 浏览器;若电脑未启用蓝牙,需额外一块 micro:bit V2;另有面向 Apple iPad 和 Android 平板的 CreateAI 应用;还需表带和支架,或其他把 micro:bit 固定在身上的方式,如柔性手工铁丝或橡皮筋。
数据采集:项目自带 waving、clapping、still 三类数据样本;可用 micro:bit 的运动传感器(加速度计)添加自己的动作样本。在 CreateAI 中点击 Connect 连接采集用 micro:bit,把 micro:bit 戴在手腕上,点击第一个动作 waving 后点 Record 录制;录错可删除样本;也可按 micro:bit 上的 B 键开始录制;点录制按钮旁的三点菜单可选择连续录制 10 秒以获得 10 个样本。随后录制 clapping 和 still,其中 still 要在不同位置采集样本,例如朝上和朝下。
训练与测试:点击 Train model 训练模型,然后尝试拍手、挥手和保持静止,看模型是否能估计出这些动作。把 micro:bit 交给别人佩戴(确保戴在同一只手腕、方向相同),测试对他人是否同样有效。
改进模型:多数模型可通过更多数据改进。若需改进,点击返回编辑数据样本,删除不合适样本或添加更多样本,再次训练并再次测试。
部署模型与代码:在 CreateAI 中点击 Edit in MakeCode 查看 MakeCode 编辑器中的项目代码,可修改代码或直接使用。用 USB 线连接第一块 micro:bit,在 MakeCode 界面点击 Download,按提示把 AI 模型和代码块传输到该板;之后再下载到另一块 micro:bit。给发送端 micro:bit 接上电池盒;接收端可继续插在电脑上,也可接电池盒。戴上发送端 micro:bit 进行测试。
代码块工作方式:程序启动时无线电组设为 52。无线电组类似频道,使用同一组的 micro:bit 会收到消息;组号可在 0 到 255 之间任选。若在课堂或编程社团使用,可鼓励每对或每组学生使用与其他组不同的无线电组。on ML... start 代码块在发送端 micro:bit 的 ML 模型判断你开始挥手、拍手或静止时触发。拍手时,on ML clapping start 块让发送端 LED 显示对勾图标,并向接收端发送 lightsOn 无线电消息。挥手时,on ML waving start 块让发送端 LED 显示叉号图标,并发送 lightsOff 消息。若保持静止或发送端无法识别动作,LED 显示清空且不发送无线电消息。on radio received 块在收到 lightsOn 时点亮接收端全部 LED,收到 lightsOff 时清空屏幕。on radio received lightsOn / lightsOff 块来自名为 Radio broadcast 的 MakeCode 扩展;若要自己编写该项目,可点击 Extensions 后选择 Radio broadcast 找到这些块。
评估问题:该灯开关响应动作开灯和关灯的准确度如何?如有需要如何改进?该设备在现实生活中多有用?与普通灯开关相比如何?
扩展方向:可把相同代码放到多块 micro:bit 上以点亮一个房间;当有人移动其中一块时,让其他 micro:bit 保持静止,从而一起开灯或关灯。可增加第四个动作,让接收端 micro:bit 显示暗光,使用 LED 区域 More 下的 set brightness 块。
本站整理与观察
本站观察:该材料是一份分步项目指南,核心流程为采集动作数据、训练并测试模型、在 MakeCode 中部署模型与代码、通过无线电在发送端和接收端之间传递开关灯指令。
本站观察:材料把拍手、挥手、静止作为三类识别动作,并明确静止或无法识别时不发送无线电消息,这使误触发时的行为表现为不改变接收端状态。
本站观察:材料提到模型对佩戴者本人和他人可能表现不同,并建议通过增加或清理数据样本来改进,但未给出具体准确率数字或量化评估结果。
本站观察:材料中的无线电组 52 是示例默认值,组号范围 0 到 255;课堂场景下建议不同小组使用不同组号以避免互相干扰。
本站观察:扩展部分提出多块 micro:bit 同步亮灯和增加暗光动作,但未提供完整代码或验证结果。
材料为项目指南,未提供模型准确率、测试样本量、不同佩戴者之间的量化对比或实际使用中的可靠性数据;扩展方案仅作方向性描述,未给出完整实现与验证结果。本站整理与观察部分为基于原文的归纳和推论,不代表原作者或 micro:bit 官方结论。
本文为来源内容的中文摘要与整理,不代表原文全文翻译。完整信息请查阅来源原文。