起源星 L0-05 · 节奏灯光秀
第五关:为多路小灯设计一段固定节奏的灯光秀(可配音乐一起打拍子)
← 返回元宇宙首页
任务说明:设计一段固定节奏,让多路小灯按节拍闪烁
适龄建议:8–12 岁 | 建议配上一首节奏感强的歌,一边听一边数拍子,再把节奏“翻译成代码”。
目标:设计「固定节奏」并用循环 / 延时实现多路灯光序列 知识点:多路输出 / 分轨节奏 / 程序节拍感 可选延伸:和真实音乐播放器一起跑,做“灯光伴奏”
积木编程区(为 R/G/B 三路灯设计节奏)
你可以把 红灯当作鼓点绿灯当作拍手蓝灯当作背景节奏,为它们各自设计固定节奏,然后循环播放。
设备状态:未连接(本关可先完全在浏览器里做灯光秀)
R · D3
G · D5
B · D6
运行模式: 浏览器仿真
任务:先在脑子里想好一段简单节奏(例如“咚 咚-咚 | 咚 咚-咚”),然后用灯来表现它。
建议结构:
「当程序开始时」→「永远重复」→
  重复 N 次:
    [红灯亮 0.2 秒 / 灭 0.2 秒]
  再重复 M 次:
    [绿灯亮 0.4 秒 / 蓝灯亮 0.4 秒 / 依次交替]
也可以自己完全设计不同节拍,只要“从头到尾的节奏是重复的”即可。
UNO RHYTHM · MULTI-LED STAGE
当前任务:用 D3 / D5 / D6 驱动 R/G/B 三路节奏灯
Arduino UNO 2 3 4 5 6 RGB 节奏灯 R · D3 G · D5 B · D6 ATmega328P
虚拟多路节奏灯舞台: 假设你已经把三颗 LED 接在 D3(红)/D5(绿)/D6(蓝)上,或者接了一个共阴极 RGB 灯珠。 在仿真里,LED_R:ON/OFFLED_G:ON/OFFLED_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 三路灯各自设计一段固定、可描述的节奏结构。
  • 虚拟板上三颗灯的闪烁是“有规律的重复”,而不是随意乱闪。
  • 能用自己的话说出:“一小节里具体发生什么,然后整段节奏是如何靠循环重复出来的。”
家长提示:本关的本质是“把时间轴离散化,再分配事件”,和以后学到的离散信号、节拍器、定时任务本质一样。 不用追求“和真实音乐严丝合缝对齐”,关键是让孩子能清楚描述自己设计的节奏,并用循环表达出来。