智能电子储蓄存钱罐设计

2022-12-01 05:28潘迪齐庆堃陈玉斌薛佳雨崔光浩
电子制作 2022年20期
关键词:储蓄罐存钱罐纸币

潘迪,齐庆堃,陈玉斌,薛佳雨,崔光浩

(桂林信息科技学院,广西桂林,541004)

0 引言

当今社会的科技飞速发展,人们的生活中越来越多的物品正朝着更加智能化、人性化的方向发展。互联网技术的兴起和电子商务的普遍化也影响了硬币和纸币。虽然使用量和流通量都在下降,但人们在乘坐公交车、地铁或购买小额的商品时,已经习惯使用硬币和纸币来完成交易。

我们经常面临以下问题:想买一些小东西,但零钱不够,须从存钱罐内取钱。当打开它时,发现很多零钱,有一元,五角,一角的硬币和小面额纸币非常零散,我们要找到自己所需的现金非常麻烦。所以硬币和纸币的存储是非常重要的,但普通的存钱罐只有简单存放硬币的功能,却没有分拣和清点不同金额的功能。在这个项目中,设计的智能电子储蓄存钱罐完成了多项功能,让普通存钱罐变得更加智能化、多样化。

1 智能电子储蓄存钱罐的总体设计方案

与传统存钱罐相比,本项目制作的智能电子储蓄罐具有很多优势。普通存钱罐只有存放硬币的功能,不能显示硬币和纸币数量,但是本项目的存钱罐中的全部金额可以准确显示在液晶显示屏上,让用户更容易知道自己存有多少钱。并且将不同面额的硬币和纸币分开储存,还可以在屏幕上显示币种和数量。为了避免电量不足的问题,本设计不仅可以通过电池供电,还可以通过USB接口供电,电池也可以更换。

1.1 总体设计方案

本设计的控制中心是STM32单片机,包括电源、硬币识别、纸币识别、显示模块和存储模块,组成的智能电子储蓄存钱罐。面对我国目前流通的硬币和纸币,这款产品具有面额识别、存款金额统计、时间显示、闹钟等基本功能,与传统存钱罐相比,本项目制作的智能电子储蓄罐具有更多优势。如外观设计的多样性,产品的多功能性和实用性等等,让本产品在市面上有了更大的竞争力。

1.2 外观设计

外观通过3D建模设计,有别于市面上传统的存钱罐采用陶瓷和塑料材质,该设计由树脂材料制成,提高了产品的耐用性,并且区别于普通储蓄罐单一的外观,本设计可使用3D建模制作出不同的外观,可根据不同人群的需求进行定制,满足不同人群的喜好。

2 智能电子储蓄存钱罐的硬件设计

2.1 电源电路设计

单片机处理信号、电机转动运输零钱、液晶屏显示、硬币和纸币识别模块的传感器等功能都需要电源供电才能正常进行。本设计总电压为5V,此电压可以保证在供电安全的情况下使单片机和其他各功能正常使用。在线路方面,为了满足各模块的线路连接方便,在设计智能电子储蓄罐时,预留了布线的空间,使布线整齐美观。最后,本项目的供电方面采用的是可充电锂电池,取代了一次性使用的干电池,充电方式采用目前很常见的USB口充电法,这大大提高了产品的环保性和实用性。

2.2 硬币识别模块

关于硬币进行真假鉴别,不同于市面上相似产品采用的识别率高的办法,像有图像法或电涡流传感器法,这些办法成本高、系统复杂,对条件要求较高,不适合一些小项目使用。本项目通过利用硬币本身的特性和红外传感器进行组合,设计出一种低成本的硬币面值识别装置。硬币识别模块是由一个带有三个不同孔径的滑道和红外传感器组成,硬币经过进入、识别到分类存储的过程。在设计此模块时,我们利用硬币的惯性和直径大小不同这一属性,设计出一个带有不同孔径的滑道,让硬币在滑道上从不同大小的孔径中滚落,以此实现硬币识别的功能。此模块在投币口设有一段导轨,滑道的宽度为2mm,使用电动驱动器来驱动转轮,随着转轮的转动,投入的硬币可以一个接一个地进入滑道,并准确落入相应的位置。19mm、20.5mm、25mm的开孔对应1角、5角、1元这3种不同尺寸,滑道与地面的倾斜角度为61°,可将三种不同面值的硬币分类在设定的收纳盒内。不同的硬币在掉落时通过传感器检测区域。传感器接收到信号后,会将传感器产生的信号发送给单片机,单片机执行计数并由显示模块显示。

本模块采用的是红外对射式光电开关传感器,由发射端发出红外射线,接收端接收。光电开关是通过把光强度的变化转换成电信号的变化来实现控制的。 光电传感器有三部分构成,它们分为:发送器,接收器和检测电路。 发送器对准目标不间断地发射光束,有物体经过光线切断,便输出信号。通过检测电路,滤出有效信号,以此实现对硬币的检测。

2.3 纸币识别模块

纸币识别模块不同于硬币识别模块,此模块主体是由送钞口、颜色传感器组成,由电机完成向前或向后传送纸币。此模块设计的槽口自动吞钞,只需将钞票的前缘插入吞币口的前缘,它就会送至识别区域。两个TCS3472颜色传感器位于纸币识别区域。每个人民币颜色的不同,根据读取识别出的RGB值,对比识别不同纸币的RGB值。比如毛主席领口100元的标准RGB值是#be0f2d。检测到的钞票必须在一定范围内进行识别,以颜色识别的方式识别其面值,并统一收集。TB6612FBG 电机驱动模块用于控制电机工作,通过H桥驱动电机前后运动,带动钞票进出。识别成功后,电机向前移动吞下钞票;如果识别失败,则向反方向移动吐出钞票。

本模块使用TCS3472颜色传感器,通过连接LED,传感器提供红色,绿色,蓝色(RGB)和清晰光感应值的数字输出。集成红外阻挡滤光片可最大限度地减少入射光的红外光谱成分,并可精确地进行颜色测量。具有高灵敏度,宽动态范围和红外阻隔滤波器。最小化 IR 和 UV 光谱分量效应,以产生准确的颜色测量。并且带有环境光强检测和可屏蔽中断。通过 I²C 接口通信。

2.4 显示模块与交互模块

此模块是实现人机交互的模块,主要是由一个显示屏构成。由单片机控制,除正常显示时间以及金额变动以外,可与其交互使用一些其他功能,增加了产品的功能。智能电子储蓄存钱罐显示与交互模块,主要用于控制和展示储蓄罐不同币种数量以及储蓄罐内的总金额。屏幕无任务工作时,运行的是闹钟功能,显示时间和日期,这很好地提升了本产品的实用性。当进入访问界面时,会看到当前的存款金额。投币时,屏幕会实时显示增加的金额。每种货币对应的提款时间表和提款金额将显示在屏幕上,还可以在智能电子储蓄存钱罐屏幕上看到不同面额的硬币和硬币的数量和总量。这种多样的显示方式,是本产品的特色之一,丰富使用者的体验感。

2.5 纸币真伪识别

此模块由紫外线LED灯构成,当遇到无法识别的纸币时,储蓄罐会通过送钞口吐出纸币,可由使用者自行通过点亮紫外线LED灯后验证纸币上是否会产生金色水印,再在显示屏上添加该纸币,使系统进行计数,用于统计总金额。

2.6 纸、硬币储存模块

硬币纸币的存放容器在设计时,模仿日常生活中抽屉的形状,设计出可推拉式的收纳盒。项目设计的硬币和纸币存放在可拉出式收纳盒中。硬币一旦通过鉴别模块并被识别,就会落入对应硬币的收纳盒,然后按不同面额分类存放。当纸币通过转移模块和识别模块,也会进入对应的纸币收纳盒。而存放纸币的收纳盒尺寸略大于100元人民币,满足各种面额人民币存放的需求,拉出抽屉后纸币会整齐地排列在收纳盒里。

3 智能电子储蓄存钱罐的软件设计

3.1 系统软件设计语言

本设计使用 C 作为软件设计语言,C语言结构优良、可模块化、易于修改,可以大大提高硬件实现效率。C 语言与其他语言相比,程序语言相对容易学习,且遵循句子执行算法。C语言还提供了许多功能,包括系统创建的和用户定义, 编译器提供的主要文件包含可用于程序开发的许多基本函数。在使用C语言设计单片机应用系统程序的过程中,将程序模块化、结构化,对于每一层,它们可以在每个节点上进行定制,以优化程序执行效率。

图形交互界面通过LVGL来执行,LVGL集成了占用小、多平台使用、移植简单、操作简单、开源免费等一系列特点。而且LVGL用C语言编写,可以实现最大的兼容性(与C ++兼容),模拟器可在没有嵌入式硬件的PC上启动嵌入式GUI设计,同时LVGL作为一个图形库,它自带着接近三十多种小工具可以供开发者使用。因此我们的应用程序通过调用LVGL库来创建GUI。它包含一个HAL(硬件抽象层)接口,用于注册显示和输入设备驱动程序。驱动程序除特定的驱动程序外,它还有其他的功能,可驱动显示器GPU、读取触摸板或按钮的输入。

3.2 程序原理

图形交互界面借助了LVGL框架。LVGL集成了占用小、多平台使用、移植简单、操作简单、开源免费一系列特点。而且LVGL用C语言编写,可以实现最大的兼容性(与C++兼容),它包含一个HAL(硬件抽象层)接口,用于注册显示和输入设备驱动程序。除特定的驱动程序外,它还有其他的功能,可驱动显示器GPU、读取触摸板或按钮的输入。此外还提供了模拟器可在没有嵌入式硬件的网页上启动进行GUI的设计和测试。我们的应用程序通过调用LVGL库的基本按钮、标签、图片框、样式等基本组件来搭建应用界面。

程序初始化LVGL界面时,首先提供硬件相关的LCD颜色数据写函数和LCD触控数据读函数,以及界面的布局信息。进入主循环后,不断调用LVGL组件层,由LVGL通过LCD触控数据读函数收集触控信息,计算出点阵界面的颜色值,最后使用LCD颜色数据写函数将界面更新到硬件上;同时调用触控动作相应的交互逻辑。LVGL组件、硬件、主循环和交互逻辑以及LCD数据读写函数的层级和界面更新序列图如图7所示。

3.3 硬币模块设计流程图

硬币面值分拣装置,利用硬币的直径、质量因面值不同而不同的特性,让不同面值的硬币在投入后,在滑道上滑行,在经过不同尺寸的方孔时候,分别落入对应的硬币槽当中,以此实现不同面额硬币分类;同时当硬币槽的边缘安装的红外感应装置被落入的硬币遮挡后,会发送低电平信号至单片机。程序的轮询检测代码的流程图如图8所示。

4 测试

调试工作对于项目整个过程而言是必不可少的一环,在针对目前市面上流行的一块、五毛、一毛不同面值的硬币,以及对当下发行的不同面值人民币,进行了逐个多次反复测试。首先我们根据3D建模设计出外壳,对智能电子储蓄存钱罐进行组装。在组装的过程中发现有些位置需要一些调整,才能正常进行运行和调试。在普通实验室环境下进行调试时,从逐个放入不同面值的硬币开始,测试其能否完成不同面值硬币的分类存储和识别。在多次逐个测试之后,开始一次放入多枚相同、不同面值的硬币进行测试。在不同面值硬币被分类存储之后,经过红外传感器的感应,单片机接收到信号之后在屏幕上显示出相应的提示信息。在经过上百次的测试之后,硬币的错误基本在2%~3%之间,基本实现了硬币的识别功能。在进行纸币测试时,在逐个放入一块、五块、十块、二十块、五十块、一百块不同面值的纸币之后,观察不同面值纸币的识别情况。可以通过记录不同面值的识别、屏幕的显示情况,在计算感应所需要的时间之后,再对纸币吸收器进行调整,保证每次放入的纸币都可以被颜色传感器感应到,并对其进行总额计算,最后调整智能电子储蓄存钱罐附加功能的正确运行,以保证智能电子储蓄存钱罐各项功能运行正常。

表1 硬币识别准确率测试

5 结论

智能电子储蓄存钱罐旨在帮助使用者解决日常生活中零钱的整理与统计。本项目设计的产品具有实用性和功能多样性,在保证存钱罐存钱基本的作用以外,我们添加了更多的功能、设计更加人性化。显示屏无任务时的时间显示,对不同面额硬币的分类储存等特色,这极大程度上增加了实用性,让本项目相比较普通存钱罐有了更大的竞争力。智能电子储蓄存钱罐优化了储蓄罐的功能,总体设计朝着更加智能化、多样化的方向发展。

我们所设计的智能电子储蓄存钱罐以STM32单片机为控制核心,设计出由电源模块、纸币识别、硬币识别、显示和交互模块以及存储模块组成。根据程序的设计,智能电子储蓄存钱罐可以通过分拣模块和硬币识别模块将不同的硬币送入到滑道上,之后掉入不同尺寸的方孔,使硬币可以准确地存放在储蓄罐中。同时,智能电子储蓄存钱罐屏幕会准确及时地显示不同币种的金额和总金额。如果用户需要取款,则有硬币抽屉和纸币抽屉可用。综上所述,我们设计的智能电子储蓄存钱罐具有自动识别金额、自动记录存入金额、设置总金额显示的功能。平时用户可以将智能电子储蓄存钱罐放置在显眼的地方,通过显示功能,时刻提醒着用户,养成良好的金钱观。

这种设计为那些需要满足使用智能电子储蓄存钱罐对零钱需求的人提供了一个清晰的思路。这种设计的优点是用途广泛,经久耐用,方便人们在日常生活中统计和存取零钱。当用户在使用过程中,本产品设计的多种功能可以满足用户对智能储蓄存钱罐的需求,给用户带来方便。

猜你喜欢
储蓄罐存钱罐纸币
小猪储蓄罐
老寿星储蓄罐
硬纸板变存钱罐
智能硬币储蓄罐设计
我的存钱罐
消失的纸币
丢失的小猪存钱罐
猜纸币
有趣的花瓶储蓄罐
Value