二、井然有序

第8课 井然有序-受控红绿灯

任务场景:井然有序-受控红绿灯
任务场景:井然有序-受控红绿灯

一、任务目标

外部信号(按键/传感)能打断或改写当前灯态时序。

二、我们要学什么

  • 学习要点:外部按键能打断或改写当前灯态
  • 本课过关:能完成:按键后灯态不再只按原时序走,能被打断或改写。
  • 示例对齐:体验题对应 2-4-1 井然有序-受控红绿灯.mix;完整代码对应 2-4-2 井然有序-有约束的受控红绿灯.mix。

三、本节要点

本课核心是「外部按键能打断或改写当前灯态」。上一课完全自动;本课加入受控:行人按钮可以插入,改写当前灯。

1读场景行人按钮
2对要点按键能改当前灯
3对照现象插入后时序被改写

四、解题思路

解题抓手是「外部按键能打断或改写当前灯态」。生活对照:有行人按钮的路口:灯在走自己的时序,有人按下,绿灯可以提前或被改写。 先对齐:输入「板载按键作为外部请求」,输出「彩灯时序被打断或改写」。验收看:按下后灯态是否马上按新规则变化。

本课主要用到:彩灯/LED、板载按键。

  1. 1平时仍按自动时序走灯。
  2. 2检测到行人键 was_pressed 后,插入或改写接下来的灯色。
  3. 3和第 7 课区分:本课允许外部打断。
  4. 4在某一灯色时按键,后续灯态应与不按不同。

步骤关键词(顺着看即可)

1. 平时仍按自动时序走灯2. 按键插入改灯态3. 运行核对

五、图形块功能讲解

本课用到的 Mixly 图形块均已在前面的课讲过。请直接对照编程练习搭积木;若有遗忘,回到该积木首次出现的课页复习。

六、知识点讲解

受控打断:行人键可插入当前时序,改写接下来灯色。过关看按键后灯态不再只按原时序走。

核对现象:按下后灯态是否马上按新规则变化。再在红灯期间按一次,看会不会改变接下来的灯色。

七、编程练习

点「载入」打开 MixVM(board=sowl_design)。界面默认是图形化积木;示例来自 MixGo SOWL 六学期兴趣课程/学期2。带 design 外设的题目会自动带上接线。工具栏用「运行 / 停止」,「检查」核对关键字。建议先读「四、解题思路」「五、图形块功能讲解」再载入。

六学期兴趣课程:2-4-1 井然有序-受控红绿灯.mix。载入后运行。

八、课堂练习

请先做两道对错题,再答后面的选择题;全部选完后点「检查」。

  1. 判断:按键以后,灯仍然完全不理你,只按原时序走。

  2. 判断:可用此步骤验收——在灯自动走的过程中按键,看当前灯态是否被打断或改写。

  3. 受控红绿灯的新能力是?

  4. 输入是?

  5. 和无障碍自动灯相比,本课差在?

九、本节小结

回顾:会「外部按键能打断或改写当前灯态」就算抓住本课。