三、智慧停车

第9课 单入口空余车位显示

任务场景:单入口空余车位显示
任务场景:单入口空余车位显示

一、任务目标

理解用集合表示场内车辆,能口述空余怎么算。

二、我们要学什么

  • 学习要点:单入口用「在不在集合里」切换入/出库
  • 本课过关:能指出空余 = 99 - 集合大小;完整代码另滚 时间字符串。
  • 示例对齐:体验题对应 「3-1-1 单入口空余车位显示」;完整代码对应 「3-1-2 单入口空余车位显示含时间」。

三、本节要点

体验 3-1-1 不显示时钟。滚动对时是 3-1-2。

1读场景明确真实任务
2对要点集合记账,屏上看空余
3载入运行兴趣课程积木/代码

四、解题思路

  • 输入:刷卡模块读到的卡号。
  • 输出:云端入库/出库车辆消息;点阵空余数。
  • 生活对照:同一道闸,进一次记入、再刷一次记出。
  • 验证现象:刷入空余减一,再刷同一张空余加一。

本课主要用到:刷卡模块、集合、点阵、物联网平台;完整代码另用网络对时与实时时钟。

  1. 1设定总车位,并用空名单集合记在场车辆。
  2. 2卡号不在名单则加入名单,并发入库消息。
  3. 3已在名单则移出名单,并发出库消息。
  4. 4点阵显示:总车位减去在场辆数。

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

设定总车位与空名单不在则加入并发入库已在则移出并发出库点阵显示空余车位

五、图形块功能讲解

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

图形块分类作用本课用法
创建集合
集合创建不重复元素集合。名单集合 记场内车辆。
是否包含
逻辑判断某值是否在列表/字符串中。载入后可在工具箱对照本课用法。
集合增删
集合向集合添加或丢弃元素。载入后可在工具箱对照本课用法。
显示图案或文字
板载显示按设定时间显示图案或字符串。点阵显示空余数。
四则运算
数学加、减、乘、除等运算。载入后可在工具箱对照本课用法。
集合大小
集合元素个数。空余 = 总车位 - len(名单集合)。

六、知识点讲解

用集合表示场内车辆。空余不是另计一个变量,而是 99 减人数。入库/出库主题:add 发入库车辆,discard 发出库车辆。心跳灯:定时 ping 失败则 1 号灯亮。时间:完整代码刷卡先滚 时间字符串。

对照与过关:能口述空余怎么算。先看空余数字,再对照完整代码的时钟。

七、编程练习

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

兴趣课程:3-1-1 单入口空余车位显示.mix。载入后运行。

八、课堂练习

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

  1. 判断:体验题每次刷卡都只入库,不会出库。

  2. 判断:点阵显示的是 总车位 减集合大小。

  3. 官方示例总车位是?

  4. 完整代码刷卡时还会?

九、本节小结

本课主题是单入口车位:单入口用「在不在集合里」切换入库或出库,空余等于总车位减去集合大小。体验程序点阵显示空余车位;完整程序另外滚动当前时间。