二、点阵与节奏
第7课 闪烁测试

一、任务目标
用定时器回调翻转板载指示灯:主循环空转,灯仍按设定频率闪烁。
二、我们要学什么
- 学习要点:Timer + setonoff(1,-1):周期到了就翻转灯 1,频率变量决定 period
- 本课过关:能指出回调在翻转灯、主循环在 pass;改「频率」后闪烁疏密变化。
- 示例对齐:体验与完整代码均对齐「18-1 闪烁测试」(完整代码可对照同例改频率)。
三、本节要点
本节把单元一的定时器接到指示灯开关上:只有亮/灭,没有变色。
1读场景灯自己闪
2对要点回调里翻转
3载入运行官方示例积木/代码
四、解题思路
- 输入:定时器周期(由频率算出)。
- 输出:板载灯 1 亮灭翻转(setonoff 的 -1 表示取反)。
- 生活对照:警示灯按固定节拍闪。
- 验证现象:主循环 pass 时灯仍闪;频率变大,闪得更快。
本课主要用到:定时器、板载指示灯(onboard_led.setonoff)。
- 1明确任务「闪烁测试」:定时器驱动灯翻转。
- 2定义回调:onboard_led.setonoff(1, -1)。
- 3period = 500 // 频率,创建 PERIODIC 定时器。
- 4主循环 while True: pass,让回调一直生效。
流程示意(可对照左侧文字)
五、图形块功能讲解
下面只列出本课首次出现的 Mixly 图形块(真积木截图)。已在前面课讲过的不再重复;先认新块,再点「载入」对照拖搭。
| 图形块 | 分类 | 作用 | 本课用法 |
|---|---|---|---|
![]() | 控制 | 按周期触发回调。 | 体验:period=500//频率。 |
![]() | 板载执行 | setonoff 开/关/翻转。 | 体验:setonoff(1,-1) 翻转。 |
六、知识点讲解
闪烁靠定时器翻转开关灯:Zero 只有两盏单色指示灯,用 setonoff,不要用 setcolor。
翻转 -1
setonoff(灯号, -1) 表示在亮与灭之间切换,不必自己记当前状态。
频率与 period
示例用 500 // 频率 得到毫秒周期。频率越大,周期越短,闪得越快。
回调要短
回调里只翻转灯;复杂逻辑留给主循环,避免打乱节拍。
- 指示灯只有开/关两态,不要讲成多色变灯。
- 过关:改频率后闪烁明显变快或变慢,并能指出是哪行在算 period。
先回忆单元一定时器,再看回调里换成灯翻转。
七、编程练习
点「载入」打开 MixVM(board=mixgo_zero_design)。在 Mixly 工具栏点「运行 / 停止」,「检查」做关键字核对。请先读本页「四、解题思路」与「五、图形块功能讲解」,再点载入。
官方示例:18-1-定时控制-闪烁测试.mix。载入后运行。
正在载入编程环境
正在载入 MixGo ZERO 仿真编程环境…
八、课堂练习
先完成两道判断题,再完成选择题;全部选定后点「检查」。
判断:必须在主循环里 sleep 才能闪烁。
判断:体验用 setonoff 的 -1 翻转灯状态。
闪烁节奏主要由什么决定?
板载指示灯本课用法是?
九、本节小结
记住:闪烁靠定时器翻转开关灯,不是交通灯相位。

