三、智慧停车
第9课 单入口空余车位显示

一、任务目标
理解用集合表示场内车辆,能口述空余怎么算。
二、我们要学什么
- 学习要点:单入口用「在不在集合里」切换入/出库
- 本课过关:能指出空余 = 99 - 集合大小;完整代码另滚 时间字符串。
- 示例对齐:体验题对应 「3-1-1 单入口空余车位显示」;完整代码对应 「3-1-2 单入口空余车位显示含时间」。
三、本节要点
体验 3-1-1 不显示时钟。滚动对时是 3-1-2。
1读场景明确真实任务
2对要点集合记账,屏上看空余
3载入运行兴趣课程积木/代码
四、解题思路
- 输入:刷卡模块读到的卡号。
- 输出:云端入库/出库车辆消息;点阵空余数。
- 生活对照:同一道闸,进一次记入、再刷一次记出。
- 验证现象:刷入空余减一,再刷同一张空余加一。
本课主要用到:刷卡模块、集合、点阵、物联网平台;完整代码另用网络对时与实时时钟。
- 1设定总车位,并用空名单集合记在场车辆。
- 2卡号不在名单则加入名单,并发入库消息。
- 3已在名单则移出名单,并发出库消息。
- 4点阵显示:总车位减去在场辆数。
流程示意(可对照左侧文字)
五、图形块功能讲解
下面只列出本课首次出现的 Mixly 图形块(真积木截图)。已在前面课讲过的不再重复;先认新块,再点「载入」对照拖搭。
| 图形块 | 分类 | 作用 | 本课用法 |
|---|---|---|---|
![]() | 集合 | 创建不重复元素集合。 | 名单集合 记场内车辆。 |
![]() | 逻辑 | 判断某值是否在列表/字符串中。 | 载入后可在工具箱对照本课用法。 |
![]() | 集合 | 向集合添加或丢弃元素。 | 载入后可在工具箱对照本课用法。 |
![]() | 板载显示 | 按设定时间显示图案或字符串。 | 点阵显示空余数。 |
![]() | 数学 | 加、减、乘、除等运算。 | 载入后可在工具箱对照本课用法。 |
![]() | 集合 | 元素个数。 | 空余 = 总车位 - len(名单集合)。 |
六、知识点讲解
用集合表示场内车辆。空余不是另计一个变量,而是 99 减人数。入库/出库主题:add 发入库车辆,discard 发出库车辆。心跳灯:定时 ping 失败则 1 号灯亮。时间:完整代码刷卡先滚 时间字符串。
对照与过关:能口述空余怎么算。先看空余数字,再对照完整代码的时钟。
七、编程练习
点「载入」打开 MixVM(board=mini_design)。默认图形化积木;起步程序与积木均来自 MixGo MINI 兴趣课程/学期4。在 Mixly 工具栏点「运行 / 停止」,「检查」做关键字核对。请先读本页「四、解题思路」与「五、图形块功能讲解」,再点载入。
兴趣课程:3-1-1 单入口空余车位显示.mix。载入后运行。
正在载入编程环境
正在载入 MixGo MINI 仿真编程环境…
八、课堂练习
先完成两道判断题,再完成选择题;全部选定后点「检查」。
判断:体验题每次刷卡都只入库,不会出库。
判断:点阵显示的是 总车位 减集合大小。
官方示例总车位是?
完整代码刷卡时还会?
九、本节小结
本课主题是单入口车位:单入口用「在不在集合里」切换入库或出库,空余等于总车位减去集合大小。体验程序点阵显示空余车位;完整程序另外滚动当前时间。





