点击“蘑菇云创造”关注我们
模拟公交充值程序
信息科技教材(苏教版)物联网识别技术中提供了“模拟公交卡充值和扣费的过程”实验,介绍了电子标签如何写入和读取信息,通过模拟公交卡充值和扣费的场景验证射频识别系统的工作原理。具体内容如下图。
我们根据学校自身情况设计信息科技实验:模拟公交卡的充值与刷卡使用。
实验目的:
通过公交卡充值和扣费场景模拟,学习如何对电子标签进行读写信息。
需求分析:
(1)功能需求:能模拟公交卡进行充值扣费操作;可通过屏幕选择充值费用;模拟乘车刷卡自动扣费。
(2)界面需求:显示公交卡余额及卡号;提供四种不同金额的充值方式。
技术分析:
(1)NFC电子标签的读取和写入信息。
(2)人机交互友好界面设计与制作。
知识储备:
日常乘坐公交出行,我们会使用到NFC公交卡。首先你得去对卡充值,然后再可以使用公交卡支付车费,但无论是充值还是刷卡扣费,其根本都是对电子标签进行数据写入。
读写器给电子标签写数据的原理是通过无线信号实现的。读写器通过天线发送信号,电子标签接收到信号后,将其一部分能量用于内部工作电源,另一部分信号经过电子标签内部电路调制后反射回读写器。读写器接收到反射信号后,通过解调和解码过程,将数据写入电子标签的存储器中。
实验器材:
(1)行空板M10
(2)NFC近场通讯模块
(3)Mind+编程软件
01
实验一读写器对电子标签写数据

操作步骤:
Step01:认识NFC模块,认识NFC近场通讯模块中的电子标签和读写器。
Step02:连接电路,将NFC模块与行空板I2C接口连接如下图所示。
Step03:编写程序读取电子标签值。
(1)环境部署:打开mind+软件,点击左下角“拓展”,在“官方库”选项卡中添加“行空板”,在“pingpong”库中添加“NFC”模块,如下图所示。
(2)认识写入指令:NFC模块提供了写入指令如下所示,我们可以选取相应数据块的及其对应的字节写入适当数据。下图中选择“数据块5的第一个字节”写入数据为200。
(3)编写程序实现数据写入:写入程序如下图所示,尝试运行程序,对电子标签进行数据写入。
终端显示如下
此时表面已对公交卡写入数据成功。
Step04:修改上述程序为大于255,记录反馈结果。修改程序为下图所示(因为后续充值程序可能会超出255的范围)
运行程序,终端反馈如下。因此可以得出目前状态下,充值最大不能超过255。
02
实验二公交卡充值程序设计

操作步骤:
Step01:设计公交卡充值程序界面、收银界面,在提供的稿纸上手绘界面。
Step02:列出所需组件,根据上步设计列举所需组件并记录。组件类型:文字、图片、按钮、矩形,对应指令如下图(①文字对应“南京公交充值机”、②对应“南京”图片、③对应四个数额的按钮、④对应绿色矩形)
Step03:上述组件在程序中的定义及初始化。
Step04:根据实验一程序,相应改写完成对公交卡的充值,具体程序及屏幕界面如下图所示。
(注:充值后总金额不要超过255,读取数据块指令返回数据类型为字符型需进行数据类型转化。)
03
实验三 公交卡刷卡扣费程序

操作步骤:
Step01:设计程序界面及使用到的组件,并根据实际刷卡扣费情况设计刷卡扣费流程如下,没有放入卡时如图1;刷过公交卡后屏幕显示卡余额和开及本次扣费金额。
Step02:思考所需变量,根据功能设计变量money代表公交卡中的金额,具体程序如下图所示。
Step03:公交卡扣费时只需要检测到公交卡(为简单起见,没有考虑优惠情况)直接扣费2元,这相对充值程序逻辑上来说简单很多不需要做几种数额的扣费选择,设计程序算法逻辑如下。
Step04:编程实现完整程序,并测试运行。
点击阅读原文可获取相关资料
往期推荐
* 【行空板K10基础入门教程】第05课 :K10 物联网系统-智能温室
* 《行空板 K10 新品震撼上线!开启人工智能学习新旅程》
* 【义务教育信息科技教学指南】八年级 物联网实践与探索 第15课 实践活动——面容钥匙显智能
* 【义务教育信息科技教学指南】八年级 物联网实践与探索 第14课 实践活动——远程控制更便捷
* 【义务教育信息科技教学指南】八年级 物联网实践与探索 第13课实践活动—— 门铃通知即时到

