事件 Events
Events 类的黄色帽子积木决定一段程序什么时候开始跑。没有帽子积木,下面的积木永远不会执行。
常用帽子积木
wordblocks
当程序启动时
当 [左] 按钮 [被按下] 时
当 hub [被摇晃] 时
当 <条件> 时
当收到广播 [消息1] 时| 帽子 | 触发时机 |
|---|---|
| 当程序启动时 | 点运行/hub 启动程序的瞬间,最常用 |
| 当按钮被按下时 | hub 左/右按钮按下,适合手动触发调试动作 |
| 当被摇晃时 | hub 检测到摇晃/敲击 |
| 当 <条件> 时 | 条件从假变真的瞬间(比如传感器读值超过阈值) |
| 当收到广播时 | 收到 广播 [消息] 积木发出的消息 |
多段程序并行
一个项目里可以放多个帽子积木,它们各自独立、同时运行:
wordblocks
当程序启动时
设置移动马达 [A+E]
移动 [前进] [5] 圈
当程序启动时 ← 第二段,和第一段同时跑
重复执行
显示图案 [心]
等待 [0.5] 秒
关闭所有图案
等待 [0.5] 秒机器人一边跑,灯一边闪——这就是最简单的并发。
并行时别抢同一个马达
两段程序同时命令同一个马达,结果不可预测。并行段要各管各的资源:一段管底盘,一段管灯光/附件。
广播:程序段之间的信号
wordblocks
当程序启动时
移动 [前进] [3] 圈
广播 [到位]
当收到广播 [到位] 时
马达 [C] 转动 [顺时针] [180] 度"广播"把多段程序串起来:底盘到位后,通知机械臂动作。比赛程序复杂时,用广播划分阶段比一条长龙清晰。
FLL 里的用法
- 调试:给"当左按钮按下时"挂上"附件归零",场边一按就复位。
- 出发:规则只要求机器人出发后自主运行、禁止遥控,并不规定启动方式。常见工作流是每次出发对应一个程序槽:左右键选槽、中间键启动。不需要额外事件。
- 多任务程序:一个槽跑完一次出发的所有动作;不同出发(run)放不同槽,而不是靠事件切换。
练习
- 写两段并行程序:一段让马达持续转,一段每秒切换一次灯光图案。
- 用广播实现:前进 2 圈 → 广播 → 另一段接到广播后让 hub 显示对勾。
下一课:循环与条件。