今天我们做一个桌面番茄钟/计时器——按一下开始 25 分钟倒计时,屏幕显示剩余时间,结束时屏幕闪烁并蜂鸣,再 3D 打印一个小立座把它摆起来。
01. 点亮设备与环境配置 (10 min)
目标:学会连接设备、选择开发环境(课程采用最易上手的 UIFlow 图形化/Python 平台)。
动手步骤:
- 打开浏览器,访问 flow.m5stack.com。
- 用 USB 线将 M5Stack 连接至电脑,并根据网页提示安装驱动与 M5Burner 烧录固件(如果是第一次使用)。
- 在 UIFlow 界面左侧的屏幕设计器中,拖入一个 Label (文本) 控件。
- 在右侧积木区,拖出事件
on ButtonA wasPressed,并在其中拖入Label set text "Hello!"。
你会得到:在模拟器或烧录进真机后,当你按下 M5Stack 上的 A 键,屏幕文字会立刻改变,宣告你的硬件第一次听从你的指令。
02. 在屏幕上显示时间 (10 min)
目标:学会使用循环和变量更新屏幕上的数字。
动手步骤:
- 在 Variables 抽屉中,新建一个变量名为
timer,在on start里初始化它set timer to 1500(25分钟等于 1500 秒)。 - 在主循环
Loop或定时器事件中,放入以下逻辑:change timer by -1- 计算分钟和秒:
min = timer / 60,sec = timer % 60。 - 在屏幕的 Label 控件上显示格式化后的时间,例如
min + ":" + sec。 wait 1 s。
你会得到:屏幕上出现一个会每秒自动减一的数字倒计时。
03. 添加交互:开始与复位 (10 min)
目标:引入状态机变量(开始/暂停/复位),使用物理按键控制硬件状态。
动手步骤:
- 新建变量
running,在on start时设为false。 - 将步骤 2 的倒计时循环外面包裹一层判断:
if running == true then ...。 - 拖出按键事件:
- 当按下 Button A 时,将
running设为true(开始计时)。 - 当按下 Button B 时,将
running设为false,并且重置timer为1500(复位)。
- 当按下 Button A 时,将
你会得到:一个可控的桌面番茄钟。按下 A 键开始,按下 B 键暂停并复位至 25:00。
04. 添加声音与振动反馈 (8 min)
目标:控制 M5Stack 的内置硬件外设(蜂鸣器、RGB 灯或马达)。
动手步骤:
- 在倒计时循环内部,加上一个判断:
if timer == 0 then ...。 - 当时间归零时:
- 将
running设为false。 - 调用 Speaker 抽屉中的
play tone ... for 1s(播放蜂鸣器警报声)。 - 调用 Hardware 抽屉将屏幕背景色设为红色闪烁,提示时间到。
- 将
你会得到:一个功能完整的番茄钟!25分钟倒计时到 0 时,设备发出蜂鸣警报,屏幕闪烁。这已经达到了桌面造物的核心 ship 门槛!
05. 让 AI 帮你建 3D 打印外壳 (12 min)
目标:学会用 AI 编写 OpenSCAD 脚本,生成参数化 3D 打印外壳。
动手步骤:
- 使用游标卡尺或查阅官方文档,量出你的 M5Stack 物理尺寸(例如 M5StickC Plus2 尺寸大约为 48×25×13 mm)。
- 打开 AI 助手,发送以下 Prompt:
我正在使用 M5StickC Plus2(尺寸为 48x25x13 mm)制作一个桌面番茄钟。 请为我编写一段 OpenSCAD 代码,生成一个桌面立座外壳: 1. 它的底部是一个倾斜 15 度的支撑槽,宽度为 13.5 mm,深度为 8 mm,可以完美插住并斜放设备。 2. 两侧和底部留有开口,方便接 USB-C 数据线。 3. 请使用 OpenSCAD 能够理解的纯文本代码返回,并给出设计尺寸的解释。 - 将 AI 返回的 OpenSCAD 代码复制,粘贴进 OpenSCAD 编辑器中(可以在电脑上下载免费的 OpenSCAD,或使用在线版本)。
- 点击渲染,并导出为
.stl文件。
你会得到:一个完全量身定做的 3D 打印外壳模型文件,准备进行切片和打印。
06. 切片、打印与组装 (7 min)
目标:了解切片与打印的基础流程,并将软硬件组装在一起。
动手步骤:
- 打开你的切片软件(如 Bambu Studio、Cura),导入刚才的
.stl文件。 - 选择默认填充率 15%,无需添加支撑,直接导出 G-code 并开始打印。
- 没有 3D 打印机怎么办?:你可以将
.stl文件发给学校的创客空间、社区图书馆,或者使用在线 3D 打印服务(如嘉立创三维、淘宝代打),单件成本通常在几块钱左右。 - 打印完成后,剥离底阀,将 M5Stack 插入插槽中。
你会得到:一个摆在课桌上、真正能工作且有 3D 打印外壳保护的实体番茄计时器!拍照截取你的成品图,你已经可以去提交项目了。