EVE 发表于 2022-10-13 11:18:04

【新课标】信息科技跨学科案例-五年级 无人自助收银系统

本帖最后由 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 10:32:23

本帖最后由 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:21

为什么程序上传了没有反应呀?

EVE 发表于 2022-10-31 10:05:33

Darren-maker 发表于 2022-10-28 21:52
为什么程序上传了没有反应呀?

截图看看?

蜀山李老师 发表于 2022-11-1 15:36:21

运行问题

EVE 发表于 2022-11-2 09:31:33

蜀山李老师 发表于 2022-11-1 15:36
运行问题

mind+版本是多少?需要是1.7.2 RC3.0

达州泸州 发表于 2023-1-24 23:07:01

可以共享一下激光切割的文件吗?感谢154492842@qq.com

三春牛-创客 发表于 2023-1-25 17:37:48

学习了!

三春牛-创客 发表于 2023-1-25 17:39:46

感谢分享

沐浴清宸的阳光 发表于 2023-3-25 09:59:02

蜀山李老师 发表于 2022-11-1 15:36
运行问题

我也是出现这个一样的问题,不知道博主能否帮忙解答一下

沐浴清宸的阳光 发表于 2023-3-25 12:14:02

为什么上传程序不成功呢?

EVE 发表于 2023-3-27 10:18:33

沐浴清宸的阳光 发表于 2023-3-25 12:14
为什么上传程序不成功呢?

需要安装 pyzbar 库,在 pip 下面安装即可

发表于 2023-6-16 22:56:51

整套素材在哪儿可以购买啊

花生编程 发表于 2023-8-14 17:50:51

厉害厉害!!

花生编程 发表于 2023-8-14 17:52:01

赞赞赞赞赞

不语 发表于 2024-6-22 11:09:50

能否提供激光切割的设计图?

Echo1 发表于 2024-11-20 08:39:02

你好,运行后,为什么摄像头没有打开呢?
页: [1]
查看完整版本: 【新课标】信息科技跨学科案例-五年级 无人自助收银系统