任务说明:设计一段固定节奏,让多路小灯按节拍闪烁
积木编程区(为 R/G/B 三路灯设计节奏)
你可以把 红灯当作鼓点、绿灯当作拍手、蓝灯当作背景节奏,为它们各自设计固定节奏,然后循环播放。
任务:先在脑子里想好一段简单节奏(例如“咚 咚-咚 | 咚 咚-咚”),然后用灯来表现它。
建议结构:
「当程序开始时」→「永远重复」→
重复 N 次:
[红灯亮 0.2 秒 / 灭 0.2 秒]
再重复 M 次:
[绿灯亮 0.4 秒 / 蓝灯亮 0.4 秒 / 依次交替]
也可以自己完全设计不同节拍,只要“从头到尾的节奏是重复的”即可。
建议结构:
「当程序开始时」→「永远重复」→
重复 N 次:
[红灯亮 0.2 秒 / 灭 0.2 秒]
再重复 M 次:
[绿灯亮 0.4 秒 / 蓝灯亮 0.4 秒 / 依次交替]
也可以自己完全设计不同节拍,只要“从头到尾的节奏是重复的”即可。
UNO RHYTHM · MULTI-LED STAGE
当前任务:用 D3 / D5 / D6 驱动 R/G/B 三路节奏灯
虚拟多路节奏灯舞台:
假设你已经把三颗 LED 接在 D3(红)/D5(绿)/D6(蓝)上,或者接了一个共阴极 RGB 灯珠。
在仿真里,
LED_R:ON/OFF、LED_G:ON/OFF、LED_B:ON/OFF 这几种输出会点亮右侧 R/G/B 三颗灯。
节奏速度(BPM):
96 BPM
解释:BPM 是每分钟拍子数。比如 60 BPM 就是一秒一拍,120 BPM 是一秒两拍。你可以让延时时间和 BPM 对应起来,让灯光真的照着音乐打拍子。
仿真 & 设备日志(每一次灯光亮灭都记在这里)
[系统] 这里会显示“LED_R/G/B:ON/OFF”“等待 X 秒”“开始一轮节奏”等日志;
以后连接真实板子时,可以把串口输出格式设计成一样的,方便统一调试节奏。
任务剧情 & 操作步骤
这一关从“一盏灯的呼吸”升级为“三路灯的乐队”,练的是节奏感和分段结构。
1. 剧情:你是起源星的「灯光总监」
起源星迎来了一场小型音乐会,但经费有限,只给你三路灯光:R / G / B。
乐队说:“我们只要固定节奏,不要太花哨,你来帮我们做一个稳定、好认的灯光秀。”
2. 操作步骤(给孩子看的版本)
- (1)先找一首你喜欢的歌,选一小段节奏,数一数:“一、二、三、四……”。
- (2)决定:红灯打一拍?绿灯打弱拍?蓝灯做背景闪烁?把三路灯的“角色”说清楚。
- (3)在积木里,用「当程序开始时」→「永远重复」把整段节奏包起来。
- (4)用「重复执行 N 次」来表示一小节里重复的鼓点,比如:
重复 4 次:红灯亮 0.25 秒 → 灭 0.25 秒。 - (5)给绿灯和蓝灯也设计一段节奏,可以先快后慢,或者交替闪烁。
- (6)点击“运行节奏仿真”,看右侧三颗灯是不是按你设计的顺序闪烁。
- (7)切到代码模式,看看 C++ 里是怎么把“反复亮灭”翻译成
digitalWrite + delay的。
3. 给家长的引导脚本
- 可以问:“如果只有 8 个拍子的一小段,你会怎么分配给三路灯?”
- 可以引导孩子把一整段节奏画在纸上(用 × 表示亮,用 - 表示灭),再照着画搭积木。
- 当孩子节奏比较乱时,只提示:“先想清楚一小节的固定模式,再用循环重复它。”
4. 本关完成标准
- 能为 R/G/B 三路灯各自设计一段固定、可描述的节奏结构。
- 虚拟板上三颗灯的闪烁是“有规律的重复”,而不是随意乱闪。
- 能用自己的话说出:“一小节里具体发生什么,然后整段节奏是如何靠循环重复出来的。”
家长提示:本关的本质是“把时间轴离散化,再分配事件”,和以后学到的离散信号、节拍器、定时任务本质一样。
不用追求“和真实音乐严丝合缝对齐”,关键是让孩子能清楚描述自己设计的节奏,并用循环表达出来。