二、刷卡开门
第7课 刷卡开门

一、任务目标
刷到卡就蜂鸣,并尝试在点阵上播放开门动画。完整代码只有卡号在白名单集合里才开门。MINI 仿真可能看不到 SANT 点阵图,对照以读卡+蜂鸣为主。
二、我们要学什么
- 学习要点:开门可以先「有卡就开」,再升级成「名单里才开」
- 本课过关:能指出体验无白名单;完整代码集合含 991377439。
- 示例对齐:体验题对应 「2-3-1 刷卡开门」;完整代码对应 「2-3-2 安全刷卡开门」。
三、本节要点
Zero 课用点阵 shows 显示 OPEN/CLOSE。灵刻板仿真没有这块屏时,仍应听到蜂鸣、看到读卡逻辑。本课已改为点阵门状态文字。
1读场景明确真实任务
2对要点有卡开门,再加白名单
3载入运行本课积木/代码
四、解题思路
- 输入:RFID 卡号。完整代码对照集合 s1。
- 输出:蜂鸣;官方还有关门/开门中/开门图。
- 生活对照:小区门:先感应,后查名单。
- 验证现象:有卡应蜂鸣;完整代码名单外的卡不应走开门分支。
本课主要用到:RFID、蜂鸣器;官方示例另含 SANT 点阵(仿真可能无图)。
- 1读到 id 则 pitch。
- 2体验随即开门动画。
- 3完整代码 if id2 in s1 才开门。
- 4无卡时回到关门图。
流程示意(可对照左侧文字)
五、图形块功能讲解
下面只列出本课首次出现的 Mixly 图形块(真积木截图)。已在前面课讲过的不再重复;先认新块,再点「载入」对照拖搭。
| 图形块 | 分类 | 作用 | 本课用法 |
|---|---|---|---|
![]() | 集合 | 创建不重复元素集合。 | 完整代码:s1 = {991377439}。 |
![]() | 逻辑 | 判断某值是否在列表/字符串中。 | 完整代码:id2 in s1 才开门。 |
六、知识点讲解
本课核心是刷卡开门。体验先演示「有卡就开」,完整代码加上白名单。
白名单
集合里的卡号才合法。示例写了 991377439。
点阵
Zero 无点阵,用点阵显示 OPEN/CLOSE,蜂鸣提示刷卡。
不要改 mix
不要为了仿真删掉 onboard_matrix.shows / DOOR_*。
- 过关:能说出体验与完整代码在「谁可以开」上的差别。
先对蜂鸣,再看完整代码的 in s1。
七、编程练习
点「载入」打开 MixVM(board=mixgo_zero_design)。在 Mixly 工具栏点「运行 / 停止」,「检查」做关键字核对。请先读本页「四、解题思路」与「五、图形块功能讲解」,再点载入。
2-3-1 刷卡开门.mix。载入后运行。
正在载入编程环境
正在载入 MixGo ZERO 仿真编程环境…
八、课堂练习
先完成两道判断题,再完成选择题;全部选定后点「检查」。
判断:体验题已经用白名单,名单外的卡也会蜂鸣但不开门。
判断:完整代码只有卡号属于集合 s1 才走开门分支。
灵刻板仿真看不到开门图时,应优先对照?
完整代码白名单示例里的卡号是?
九、本节小结
记住:体验有卡就开;名单校验是 2-3-2。

