三、智慧停车

第10课 空余车位显示入口

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

一、任务目标

本机当入口:刷到新卡则加入集合并发布入库,同时订阅「出库车辆」把对方出去的卡 discard。完整代码是出口机:屏上 OU,只发布出库。

二、我们要学什么

  • 学习要点:入口只负责入库,出库消息靠订阅别人发来
  • 本课过关:能指出体验 subscribe 出库车辆;完整代码屏显 OU 且只出库。
  • 示例对齐:体验题对应 「3-2-1 空余车位显示入口」;完整代码对应 「3-2-2 空余车位显示出口」。

三、本节要点

体验 3-2-1 仍显示空余。OU 出口机是 3-2-2。

1读场景明确真实任务
2对要点入口入库,出口只出
3载入运行本课积木/代码

四、解题思路

  • 输入:本地刷卡;订阅出库车辆。
  • 输出:发布入库;点阵空余。完整代码只发出库。
  • 生活对照:进门闸和出门闸分开。
  • 验证现象:入口刷新卡空余减一;收到出库消息空余加一。

本课主要用到:RFID、MixIO、集合、点阵。

  1. 1订阅出库车辆 → discard。
  2. 2本地新卡 add 并发入库。
  3. 3shows 空余。
  4. 4完整代码 shows OU,只 publish 出库。

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

任务:空余车位显示入…搭出主循环,让程序一直运行…判断传感或变量是否达到阈值…把计算结果映射到可观察输出…加入延时(约0.5秒/单位…

五、图形块功能讲解

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

图形块分类作用本课用法
文字转数字
数学把数字字符串解析为数值。回调里 int(msg) 再 discard。

六、知识点讲解

本课核心是入口不再自己做出库判断。出去的车由出口主题通知。

discard(int(msg))

订阅到的是卡号字符串,要转整数。

OU

完整代码出口机点阵提示。

oldid

出口防同一张卡连发。

  • 过关:能说出体验仍显示空余,不是 OU。

先对入口空余,再看完整代码的出口。

七、编程练习

点「载入」打开 MixVM(board=mixgo_zero_design)。在 Mixly 工具栏点「运行 / 停止」,「检查」做关键字核对。请先读本页「四、解题思路」与「五、图形块功能讲解」,再点载入。

3-2-1 空余车位显示入口.mix。载入后运行。

八、课堂练习

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

  1. 判断:体验题点阵显示 OU 并且只做出库。

  2. 判断:体验订阅「出库车辆」后会把该卡从集合丢掉。

  3. 入口刷到新卡发布的主题是?

  4. 完整代码出口机点阵先显示?

九、本节小结

记住:体验是入口空余;OU 出口是 3-2-2。