三、智慧停车
第11课 显示停留时间入口

一、任务目标
体验仍是入口空余(入库发布、订阅出库)。完整代码改成出口:订阅入库车辆记下时刻,本机刷卡出库时滚动停留秒数。
二、我们要学什么
- 学习要点:停留时间 = 出库时刻减入库时刻
- 本课过关:能指出体验与上一课入口类似;完整代码才滚动停留秒。
- 示例对齐:体验题对应 「3-3-1 显示停留时间入口」;完整代码对应 「3-3-2 显示停留时间出口」。
三、本节要点
体验 3-3-1 没有停留秒。出口滚秒数是 3-3-2。
1读场景明确真实任务
2对要点入口记账,出口算停留
3载入运行本课积木/代码
四、解题思路
- 输入:体验:刷卡+出库订阅。完整代码:入库订阅+本地出库刷卡。
- 输出:体验:空余。完整代码:停留秒滚动。
- 生活对照:停车场出闸先算停了多久。
- 验证现象:完整代码只有入库字典里有的卡才会滚秒数。
本课主要用到:RFID、MixIO、点阵;完整代码另用 ticks_ms 字典。
- 1体验逻辑与入口空余相同。
- 2完整代码入库回调记下 ticks_ms。
- 3出库 scroll((now-入库)//1000)。
流程示意(可对照左侧文字)
五、图形块功能讲解
下面只列出本课首次出现的 Mixly 图形块(真积木截图)。已在前面课讲过的不再重复;先认新块,再点「载入」对照拖搭。
| 图形块 | 分类 | 作用 | 本课用法 |
|---|---|---|---|
![]() | 字典 | 列出全部键。 | 载入后可在工具箱对照本课用法。 |
![]() | 控制 | 读取开机以来的毫秒数,用于计时、测反应。 | 完整代码:停留秒用时刻差。 |
![]() | 字典 | 按键读取值。 | 载入后可在工具箱对照本课用法。 |
![]() | 字典 | 新增或修改键值。 | 完整代码:入库卡号→ticks_ms。 |
六、知识点讲解
本课标题是停留时间,但体验仍先把入口空余跑通。算秒数在完整代码出口。
不要发明体验
3-3-1 代码与入口空余同类,不要写成已经滚秒。
mydict
完整代码键是卡号,值是入库毫秒。
in keys
没入库记录就不出库滚屏。
- 过关:能说出体验不显示停留秒。
先对入口空余,再看完整代码的秒数。
七、编程练习
点「载入」打开 MixVM(board=mixgo_zero_design)。在 Mixly 工具栏点「运行 / 停止」,「检查」做关键字核对。请先读本页「四、解题思路」与「五、图形块功能讲解」,再点载入。
3-3-1 显示停留时间入口.mix。载入后运行。
正在载入编程环境
正在载入 MixGo ZERO 仿真编程环境…
八、课堂练习
先完成两道判断题,再完成选择题;全部选定后点「检查」。
判断:体验题出库时已经滚动停留秒数。
判断:完整代码订阅「入库车辆」来记下入场时刻。
完整代码停留秒怎么算?
体验点阵主要显示?
九、本节小结
记住:体验仍显示空余;停留秒是 3-3-2。



