10715| 0
|
[K10教程] 【行空板K10基础入门教程】第04课 :K10无人超市 |
本帖最后由 zoey不种土豆 于 2024-12-5 17:00 编辑 Hi,欢迎各位来到行空板K10的第四课!随着物联网技术的发展,RFID射频识别技术已经越来越普及。在我们日常的生活中,无论是商场支付,还是门禁刷卡,RFID技术都有着广泛的使用。在今天的课程中,我们将通过行空板和RFID射频识别模块,搭建一个模拟超市环境,实现商品的自动识别和计费。希望通过这节课,你能搭建一个K10无人购物超市! 任务目标 在行空板K10上搭建一个无人购物超市,能够利用RFID射频识别模块识别不同的商品,并对商品进行结算。 知识目标 1、 了解数字信号的概念 2、 掌握行空板K10获取数字输入信号的方法 3、 掌握RFID射频感应模块的使用 4、 掌握行空板K10的引脚操作指令 材料清单 硬件清单:行空板K10 数据线 软件使用: Mind+编程软件 1.软件压缩包下载: * 百度网盘下载:https://pan.baidu.com 提取码: 17d6 * 夸克网盘下载 2.将压缩包解压,注意解压过程中关闭杀毒软件,解压后文件夹路径不含中文,解压后文件夹路径不宜过长 3.打开解压后的文件夹,找到 Mind+.exe,双击打开 4.若编译任何代码都报错,建议在解压时将所有后台的杀毒软件退出,将解压出的文件夹放到 C 盘根目录,文件夹的名字改为"win-ia32-unpacked20241012"。文件夹中的 exe 文件,不可直接拖到桌面,要右键-发送到桌面快捷方式。 软件基础使用 1、 打开 Mind+,切换到上传模式 2、 加载行空板K10 基于前面的操作,只需要点击“扩展库”,找到“官方库”下的“行空板”模块点击完成添加,点击返回后,就可以在“指令区”找到行空板K10,完成行空板K10加载。 3、连接行空板K10 首先,你需要通过 USB 连接线将行空板 K10 连接到计算机 然后,点击连接设备后,点击 COM7-UNIHIKER K10 进行连接。 注:不同行空板 K10 的设备名称可能不同,但都是以 K10 结尾。 动手实践 接下来一起动手完成今天的课程任务吧。我们将从添加超市商品开始,逐步学习如何在行空板K10上利用RFID射频感应模块,实现对商品的识别和结算。 任务一:搭建超市 这一部分我们要对超市进行商品的添加,创建超市首页,同时让顾客能通过按钮进入商品选购界面。 任务二:识别商品这一部分我们主要实现让RFID射频识别模块能够识别到对应商品,并在选购界面显示所购商品数量。 任务三:结算商品 这一部分我们主要实现能够对商品的总价进行计算,并对顾客进行收款。 任务一:搭建超市 1、 硬件搭建 确认使用USB连接线将行空板K10连接到计算机。 2、 软件准备 确认已打开Mind+,在Python图形化模式下出现预设代码,成功加载行空板。接下来就可以编写项目程序了。 3、 编写程序 STEP1:添加商品,创建超市首页。 想一想,在我们的超市中,有梨、苹果、香蕉三种商品,我们可以通过什么方法,记录下顾客所购买商品的价格? 我们需要记录下顾客所购买每种商品的数量,乘商品的单价,从而计算出总价,因此,我们需要用前面学过的知识——“变量”,来存储所购商品的数量,同时,我们需要一个变量来计算商品的总价。因此,我们总共需要创建四个变量,分别是“梨、香蕉、苹果和总价”,要注意,商品的初始值为0。相关程序如下所示: 商品添加完成之后,我们需要创建超市的首页,我们可以使用 缓存显示本地加载图片 指令,添加超市首页图片,设置好宽和高,相关程序如下。 显示效果如下: STEP2:进入选购界面。 完成超市首页的创建之后,我们要如何设置进入选购商品界面的条件呢? 我们可以在行空板K10上数字引脚P0处,外接一个按钮,当按下按钮时,读取到引脚P0的值为1,就可以自动跳转到商品的选购界面。要读取到数字引脚的值,可以使用引脚操作模块下的 读取数字引脚P0 指令。 用两头PH2.0-3P硅胶绞线在引脚P0外接按钮,如下图: 相关程序设置如下图: 注:关于“引脚”的更多信息,详见“知识园地” STEP3:添加射频感应模块 为了让超市具备RFID结算商品的功能,我们需要让我们的超市添加RFID射频感应技术模块 ,在Mind+的用户库中,已经具备了该模块。 我们需要先将RFID射频识别模块连接到行空板K10的I2C接口,接着我们需要使用 初始化RFID模块I2C地址0×7c 指令,进行初始化。 RFID射频识别模块与行空板K10的连接如下图所示: RFID射频感应模块的使用如下图所示: 创建超市模块完整代码如下图: 4、 程序执行 STEP1:检查并保证行空板K10已连接Mind+,即在“菜单栏”部分显示IP; STEP2:点击界面右上方的上传到设备按钮; STEP3:一开始加载超市首页,按下按钮P0,跳转到超市选购界面,如下图所示: 任务二:识别商品 1、 编写程序 STEP1:获取商品对应UID值 在我们的无人购物超市中,对每种商品,我们都有对应的NFC电子标签贴纸,我们需要先知道NFC电子标签贴纸的值,才能进行进行判断,从而实现对商品的识别。 因此,我们需要先用一个程序,获得三个商品对应的UID码。我们用RFID射频感应模块下的 读取RFID模块UID 指令,在行空板K10屏幕上输出每种卡片所扫描出来的UID值,对应记录下来。相关程序如下图所示: 上传程序之后,将三个卡分别靠近RFID射频识别模块,记录下每种商品对应的UID值,结果如下: 注:不同NFC电子标签纸对应的UID值不同,需要自己读取。 STEP2:显示商品所购数量 获取每种商品NFC电子标签卡对应的UID值后,我们需要进行判断,如果顾客选购商品的电子标签卡UID值与对应的相等,则将该商品对应变量的加1,并在数量这一列显示对应的值,相关程序如下。 商品识别模块完整程序代码如下: 2、 程序运行 STEP1:连接行空板K10 STEP2:点击界面右上方的“上传到设备”按钮 STEP3:在选购界面,将不同商品的NFC电子标签卡放到RFID射频识别模块上,观察对应商品数量的变化。 任务三:结算商品 在这个任务中,我们需要根据前面得到的商品数量,计算出商品的总价,同时顾客按下按钮,能够跳转到支付页面。 1、 编写程序 STEP1:结算商品总价 我们使用RFID射频技术模块下的 当检测到卡片? 指令,当检测到有卡片的时候,我们就先用前面的程序得出商品数量,接着我们需要用每种商品的数量乘以单价,从而计算出总价,并在对应的位置进行显示,相关程序如下。 SETP2:进行收款 在顾客购物完成之后,顾客只需要按下按钮,就可以跳转到扫码支付界面。因此,我们需要在行空板K10的P1引脚,外接一个按钮,当按下按钮时,就跳出商品结算的程序,进入到扫码支付的界面。 用两头PH2.0-3P硅胶线在引脚P1外接按钮如下图: 相关程序设置如下: 完整的程序参考下图: 2、 运行程序 点击上传到设备,完成商品结算后,按下P1按钮,跳转到扫码支付界面,效果如下图: 知识园地 1、 什么是数字输入信号? 数字信号是指用一组特殊的数据0和1来描述信号,1代表有信号,0代表没有信号。之所以用0和1表示数字信号,是因为电路只有两种状态,即电路的通与断。输出数字信号1,电路连通;输出数字信号0,电路断开。 数字输入信号其实就是数字传感器采集到信号,并且采集到的信号只有0和1。在程序中,当我们按下按钮时,返回的值为1,即true;当松开按钮时,返回的值为0,即false。 那如何才能分辨这个传感器是否为数字传感器呢?在传感器板子上会印有“D”和“A”的字样。其中,“D”代表“数字”,“A”代表“模拟”。标有“D”的传感器就为数字传感器,标有“A”的传感器就为模拟传感器。关于模拟传感器的知识,在使用到模拟传感器时会有相关介绍。 在行空板K10上有2个3Pin的引脚,分别是P0、P1。这两个引脚都可以用来连接数字传感器,同样,也可以用来连接PWM传感器(如舵机)、模拟传感器。关于PWM的知识,在使用到PWM传感器时会有相关介绍。 2、认识引脚 引脚是从集成电路内部电路引出与外围电路的接线,这里可以简单地理解为:引脚是行空板K10与外部交互的接口,可以通过引脚读取外部的数据,也可以通过引脚控制外部设备。 在我们的行空板K10中,有2个3Pin接口和1个4Pin接口,两个3Pin接口可以支持数字输入输出、模拟输入和PWM输出,灵活应对各种控制需求。4Pin接口为I2C接口,可以连接手势识别传感器、RFID射频识别模块等,扩展设备功能,支持多样化应用场景。 3、 引脚操作指令 行空板K10的引脚操作指令如下: 本文程序和相关素材下载:第四课 无人超市.rar 延伸阅读: 【行空板K10基础入门教程】第01课:趣识脸谱 【行空板K10基础入门教程】第02课:打地鼠游戏 【行空板K10基础入门教程】第03课:K10随身听 |
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed