三、数字公交

第11课 单刷卡机扣费

任务场景:单刷卡机扣费
任务场景:单刷卡机扣费

一、任务目标

理解定额扣费,能说出为什么要比卡号。

二、我们要学什么

  • 学习要点:扣费前先有余额;防重复刷是加严条件
  • 本课过关:能指出体验每刷一次就尝试扣 2;换卡号才扣是完整代码。
  • 示例对齐:体验题对应 「3-3-1 单刷卡机扣费」;完整代码对应 「3-3-2 防重复单刷卡机扣费」。

三、本节要点

体验没有读卡号、没有余额≥车费判断。

1读场景明确真实任务
2对要点刷卡减 2 写回
3载入运行兴趣课程积木/代码

四、解题思路

  • 输入:刷卡内容;完整代码另读卡号。
  • 输出:点阵新余额或叉,蜂鸣。
  • 生活对照:闸机扣次票;同一张卡按住不应连扣。
  • 验证现象:刷一次余额少 2。

本课主要用到:刷卡模块、点阵、蜂鸣器。

  1. 1车费设为 2。
  2. 2读到内容则余额减车费并写回。
  3. 3成功则点阵显示新余额。
  4. 4完整代码加卡号变化和余额判断。

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

车费设为2读到内容则余额减车费写回成功则点阵显示新余额完整代码加卡号变化和余额判断

五、图形块功能讲解

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

图形块分类作用本课用法
读 RFID 卡号
板载传感读取射频卡唯一编号。完整代码 新卡号 = 读卡(..., id)。
并且/或者
逻辑组合多个条件。完整代码 新卡号!=旧卡号 and 余额>=车费。

六、知识点讲解

定额扣费。体验不判断够不够、会不会连扣。车费:写死 2。失败:shows(叉图案),体验还蜂鸣 165。防重复:完整代码记下旧卡号。

对照与过关:能说出为什么要比卡号。先弄清本课输入与输出,再进编程练习对照现象。

七、编程练习

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

兴趣课程:3-3-1 单刷卡机扣费.mix。载入后运行。

八、课堂练习

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

  1. 判断:体验会先判断余额是否大于等于车费再扣款。

  2. 判断:车费变量是 2。

  3. 体验扣费成功后点阵显示?

  4. 完整代码允许扣费还要求?

九、本节小结

本课主题是刷卡扣费:扣费前先有余额,防重复刷是加严条件。体验程序每刷一次就尝试扣 2;完整程序卡号与上次不同才再扣。