二、刷卡开门

第7课 刷卡开门

任务场景:刷卡开门
任务场景:刷卡开门

一、任务目标

理解刷卡开门,能说出体验与完整代码在「谁可以开」上的差别。

二、我们要学什么

  • 学习要点:开门可以先「有卡就开」,再升级成「名单里才开」
  • 本课过关:能指出体验无白名单;完整代码集合含 991377439。
  • 示例对齐:体验题对应 「2-3-1 刷卡开门」;完整代码对应 「2-3-2 安全刷卡开门」。

三、本节要点

官方 mix 使用 mixgo_sant 彩屏门图。奋斗板仿真没有这块屏时,仍应听到蜂鸣、看到读卡逻辑。不要改官方 mix 去删彩屏。

1读场景明确真实任务
2对要点有卡开门,再加白名单
3载入运行兴趣课程积木/代码

四、解题思路

  • 输入:刷卡模块的卡号;完整代码对照名单集合。
  • 输出:蜂鸣;官方示例还有关门、开门中、开门图。
  • 生活对照:小区门:先感应,后查名单。
  • 验证现象:有卡应蜂鸣;完整代码名单外的卡不应走开门分支。

本课主要用到:刷卡模块、蜂鸣器;官方示例另含彩屏开门动画(仿真可能无图)。

  1. 1明确任务「刷卡开门」:读到卡先提示,再决定是否开门。
  2. 2读到卡号则短促蜂鸣,表示已感应到卡。
  3. 3体验:感应后随即播放开门动画。
  4. 4完整代码:只有卡号在名单集合里才开门;无卡时回到关门图。
  5. 5载入后用名单内、外的卡对照是否开门。

流程示意(可对照左侧文字)

任务:刷卡开门读到卡号先蜂鸣体验随即开门动画完整代码查名单再开门运行后对照现象

五、图形块功能讲解

下面只列出本课首次出现的 Mixly 图形块(真积木截图)。已在前面课讲过的不再重复;先认新块,再点「载入」对照拖搭。

图形块分类作用本课用法
创建集合
集合创建不重复元素集合。完整代码:名单集合 = {991377439}。
是否包含
逻辑判断某值是否在列表/字符串中。完整代码:卡号 in 名单集合 才开门。

六、知识点讲解

刷卡开门。体验先演示「有卡就开」,完整代码加上白名单。白名单:集合里的卡号才合法。示例写了 991377439。彩屏:官方用 SANT 显示门图。MINI 仿真看不到图时,仍以蜂鸣和 if 为准。不要改 mix:不要为了仿真删掉 onboard_tft / DOOR_*。

对照与过关:能说出体验与完整代码在「谁可以开」上的差别。先对蜂鸣,再看完整代码的 in 名单集合。

七、编程练习

点「载入」打开 MixVM(board=mini_design)。默认图形化积木;起步程序与积木均来自 MixGo MINI 兴趣课程/学期3。在 Mixly 工具栏点「运行 / 停止」,「检查」做关键字核对。请先读本页「四、解题思路」与「五、图形块功能讲解」,再点载入。

兴趣课程:2-3-1 刷卡开门.mix。载入后运行。

八、课堂练习

先完成两道判断题,再完成选择题;全部选定后点「检查」。

  1. 判断:体验题已经用白名单,名单外的卡也会蜂鸣但不开门。

  2. 判断:完整代码只有卡号属于集合 名单集合 才走开门分支。

  3. 奋斗板仿真看不到开门图时,应优先对照?

  4. 完整代码白名单示例里的卡号是?

九、本节小结

本课主题是刷卡开门:开门可以先有卡就开,再升级成名单里才开。体验程序无白名单;完整程序编号在名单里才给开门反馈。