【新课标】信息科技跨学科案例-五年级 无人自助收银系统
本帖最后由 EVE 于 2023-4-7 18:34 编辑无人自助收银系统
项目来源
为满足新课标中五年级“身边的算法”内容要求,体现培养学生初步运用算法思维的习惯,形成分析简单算法的能力,设计了项目“无人自助收银系统”。
项目介绍
在“无人自助收银系统”项目中, 学生将使用摄像头识别商品,体验自助收银的过程。
通过按件扫描商品,帮助学生理解算法中的顺序结构;通过判断商品是否打折,理解分支结构;通过手动调整购买数量,理解循环结构。
学生还能设置程序中的参数,体验不同算法解决同一问题时在时间效率上的差别,加深对算法的理解。
项目中的主控器为行空板,连接摄像头识别二维码,实现商品识别,通过行空板屏幕,实现数据显示和交互流程。
“无人自助收银系统”功能展示
行空板界面展示
视频
https://www.bilibili.com/video/BV1r14y1L71s/?vd_source=27fedd3ac40d3e58da0788477833f7ac
项目知识点
贴合新课标中五年级的内容要求,“无人自助收银系统”核心教学以下知识点:
1. 理解将自助收银的算法分解为开始结算、扫描商品、显示信息、调整数量、确认支付等操作步骤。
2. 了解收银算法的顺序结构为按件扫描商品,分支结构为判断商品是否打折,循环结构为根据调整的购买数量计算总价。
3. 体验不同算法解决同一问题时在时间效率上的差别。例如,设计两种不同的收银算法,第一种只能扫码结算,第二种除了扫码结算,还能手动修改购买数量。当我们结算相同的商品时,按照第一种算法,程序执行过程是先判断是否扫码,再判断扫码结果,再获取商品价格,最后更新总价;按照第二种算法,程序执行过程是先判断是否调整数量,然后更新总价。对比两种算法,第二种算法的时间效率更高。
项目原理
在设计“无人自助收银系统”算法时,可分解出如下操作步骤。
在“无人自助收银系统”算法中,可体现出顺序、分支和循环三种基本控制结构。如下图,先扫描商品,再显示信息,最后完成支付的过程体现了顺序结构。
判断商品是否为折扣商品,得出不同价格的过程体现了分支结构。
在扫描完一件商品后,判断是否支付,如果没有支付则继续扫描的过程体现了循环结构。
对比下图两种不同的收银算法。
假如需购买 3 瓶可乐,按照第一种算法,每瓶可乐都需要经过扫描商品、显示名称、获取价格、更新总价的过程;但是按照第二种算法,只有第 1 瓶可乐需要经历扫码结算的过程,第 2 瓶和第 3 瓶可乐只需要调整数量即可。
如下两幅流程图中红框框出的部分,当顾客需要购买多件同一种商品时:第二种算法需要执行的步骤更少,所以程序效率更高。
第一种:扫码结算
第二种:扫码结算&调整数量
硬件介绍
在“无人自助收银系统”中,使用主控器结合传感器,实现项目功能。
主控器为行空板(点击购买)。
传感器为摄像头(点击购买)。
各硬件功能介绍如下表。
硬件接线
“无人自助收银系统”的硬件接线原理图和接线实物图如下图。
“无人自助收银系统”接线原理图
“无人自助收银系统”接线实物图
流程图
在“无人自助收银系统”中,行空板的界面与系统控制流程图如下图所示。
行空板界面图
“无人自助收银系统”流程图
重点程序截图
“无人自助收银系统”重点程序截图如下。
“摄像头扫描二维码”程序
“判断商品是否打折”程序
外观结构设计
在“无人自助收银系统”中,为了便于课堂教学和项目展示,可利用激光激光切割技术设计外观结构。
示例结构设计和安装完成图如下图。
“无人自助收银系统”结构设计图
“无人自助收银系统”安装完成图
附件下载
本帖最后由 Forgotten 于 2023-3-28 11:38 编辑
蜀山李老师 发表于 2022-11-1 15:36
运行问题
ModuleNotFoundError: No module named 'pyzbar',这个报错是说找不到pyzbar库,需要安装pybzar库。
解决方法:
方法1:可以给行空板刷0.3.5及以上固件(内置了这个库,比较花时间)
方法2:手动离线安装库 (推荐,简单快捷)
方法3:联网安装库
---------------------------------------------------------------------------
方法2说明:
1、下载这个附件,解压得到mind+的.mp项目文件,用mind+打开。
2、切换到代码模式,打开安装库文件夹,双击打开“安装库.py”,然后连接行空板,运行,等待安装完成即可
方法3说明:
1、先让行空板联网:https://wiki.unihiker.com/webmenu#target_2
2、然后安装libzbar0库: 在Mind+里面连接行空板,然后在终端复制下面这段指令,到终端ctrl+V粘贴,然后回车,等待安装完成
apt-get install libzbar0 -y
注:如果提示:暂时不能解析域名“httpredir.debian.org",可以尝试下面这个指令,使用国内清华源:sudo apt-get -o Acquire::https::mirrors.tuna.tsinghua.edu.cn::Verify-Peer=false -o Acquire::http::Pipeline-Depth=0 -o Acquire::http::No-Cache=true -o Acquire::http::No-Store=true -o Acquire::http::Max-Age=0 install libzbar0 -y
3、安装pyzbar库。复制下面的代码到终端回车运行,等待安装完成,再运行代码就不会提示库不存在了。
注:WARNING警告不用管。
yes | pip install pyzbar -i https://pypi.tuna.tsinghua.edu.cn/simple
为什么程序上传了没有反应呀? Darren-maker 发表于 2022-10-28 21:52
为什么程序上传了没有反应呀?
截图看看? 运行问题 蜀山李老师 发表于 2022-11-1 15:36
运行问题
mind+版本是多少?需要是1.7.2 RC3.0 可以共享一下激光切割的文件吗?感谢154492842@qq.com 学习了! 感谢分享 蜀山李老师 发表于 2022-11-1 15:36
运行问题
我也是出现这个一样的问题,不知道博主能否帮忙解答一下 为什么上传程序不成功呢?
沐浴清宸的阳光 发表于 2023-3-25 12:14
为什么上传程序不成功呢?
需要安装 pyzbar 库,在 pip 下面安装即可 整套素材在哪儿可以购买啊 厉害厉害!! 赞赞赞赞赞 能否提供激光切割的设计图? 你好,运行后,为什么摄像头没有打开呢?
页:
[1]