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