927浏览
查看: 927|回复: 1

古德微智能称重计价仪(三)

[复制链接]
本帖最后由 淄博杨广峰 于 2020-5-24 19:08 编辑

第三部分  古德微智能称重计价仪
古德微智能称重计价仪是用古德微树莓派实现的一个称重小作品。主要技术有:百度AI图像识别果蔬,称重仪称重量,字典查询数据处理,语音播报、OLED显示。该作品实现了自动识别水果、自动称量水果的质量,调用水果字典取出水果的价格,自动结算所购买水果的总价格。
前面,我们在第一部分中学会了称重仪的基本使用方法,在第二部分中学会了百度AI图像识别的基本方法,突破了自动称重和图像识别这两个难题,我们的智能称重计价仪就可以顺利进行了。
一、先上一个完整程序:
参照程序,先理清整个程序的完整思路:
202005241708..png
                              
二、称重仪初始化函数
202005243075..png
1、执行称重仪初始化
2、执行称重仪去皮处理
3、等待2秒
三、语音播报函数
202005241302..png
其实这一个函数非常简单,为什么要封装,因为在后面的程序中反复用到。现在只需要封装,后面可以反复调用。
1、播报语音内容
2、等待时长
在我们编写程序中会发现,关于语音播报的时间很难掌握。时间短了,播报内容不完整,时间长了,程序显得不紧凑,在这里我们获取播报内容字符串的长度,除以4来作为播报的等待时间。
3、带参数的语音播报函数
为了后续程序的调用方便,我们设计了播报内容变量,调用函数时只需传入这个参数即可解决等待时长的问题。
四、程序初始化函数
202005245084..png
1、输出调试信息
2、调用语音播报函数
3、变量赋初值
在后面的程序中用到的一些变量,在这里集中赋初值。
4、创建水果字典
存储商品名称和商品价格
5、创建计数变量
这个计数变量,为后续集中打印购物小票做准备。
五、OLED初始化函数
程序开始,需要让OLED显示一个程序界面。
202005245827..png
1、初始化OLED显示屏
2、新建OLED背景图片
3、导入一张图片
自己设计一张喜欢的图片,解决OLED字体比较简单的问题。注意要与OLED显示尺寸相对应,方便后面的尺寸调整。
202005248016..png
     
4、调整图片的尺寸
OLED支持的图片尺寸为128*64
5、粘贴图片到OLED背景图片
6、OLED显示图片
六、自动拍照函数
202005241561..png
1、输出开始信息
2、拍照并关闭摄像头
3、等待时间
4、输出结束信息
七、果蔬识别
根据自动拍照获取的图片,借助百度AI进行图片识别,返回图片名称。
这一部分在前面文章中已经做了详细讲解,请参照文章智能称重计价仪(二)这里不再重复。
202005245948..png
八、称重仪称重
获取称重仪上物体的净重。这一部分在前面有专门的文章讲解,详情请参见智能称重计价仪(一)
202005245602..png
九、数据处理
1、商品名称拼接并播报
2、商品单价拼接并播报
3、商品金额拼接并播报
4、购物总金额拼接并播报
202005242366..png
四部分内容大同小异,重点是关注数据类型,字符型与数字型的相互转换。
十、OLED显示
数据处理结果的OLED显示,前面已有文章讲解,不再重复。
202005249450..png
最后完整的程序:
202005247645..png
十一、程序输出结果
第一次称量结果输出:
202005245625..png
第二次称量结果输出:
202005247844..png
十二、程序拓展
本案例是在商品果蔬售卖现实基础上创作的,用户只需要把商品放到称重仪上,就可以自动拍照、识别,给出相应的价格信息。如果考虑程序拓展的话,还应该再加上购物小票的打印,或者是实际的文字,或者是二维码图片,如果再考虑自动交费的话,可以用RF射频卡来解决。这些我们在前面都有讲解,都有相应的参考案例。
关于打印购物小票,请参见本人文章:语音自助打印出入证
关于自动交费并打印小票,请参见本人文章:树莓派餐厅自动点餐系统。
至此,我们的古德微智能称重计价仪就全部结束了,感谢大家的陪伴!更多树莓派图形化的原创案例,请关注本人公众号:四五创客。每天一篇小文章,与大家一路同行!

DFrJ5KYVQaH  中级技匠

发表于 2020-5-26 08:19:37

杨老师的教程,学习之
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2022 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail