Python怎么实现DIY计数存钱罐
今天小编给大家分享一下Python怎么实现DIY计数存钱罐的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。
创新互联建站是创新、创意、研发型一体的综合型网站建设公司,自成立以来公司不断探索创新,始终坚持为客户提供满意周到的服务,在本地打下了良好的口碑,在过去的10年时间我们累计服务了上千家以及全国政企客户,如成都航空箱等企业单位,完善的项目管理流程,严格把控项目进度与质量监控加上过硬的技术实力获得客户的一致夸奖。
实物成品如下图:
这个计数存钱罐主要原理就是利用了硬币可以导电的基本特性。在盒子放入硬币的入口处设置一个略小于硬币厚度的金属夹片,分别连接IO口和GND,这样在有硬币投入的时候,就可以检测到导通,进而计数保存的硬币数量。
这个计数存钱罐主要使用的器件如下:
TurnipBit一块
纸盒一个
导线若干
金属夹片两片
制作过程如下:
1)硬件制作
1.在纸盒顶端做一个开口,大小以正好放入一元硬币为最佳;
2.在纸盒正面做三个开口,大小以正好露出显示屏和按键为最佳;
3.放入TurnipBit;
2)软件制作
1.做一个数组,用来保存显示图形的段码;
2.做一个函数,用来显示图形;
3.在循环中循环扫描两个金属夹片是否短路;
4.检测都短路,延时一会,再次检测是否短路;
5.两次均检测到短路,即可判断为有硬币投入,即可计数加一;
6.在显示屏上显示的数值做相应调整。
以上为TurnipBit制作计数存钱罐的基本原理和做法,几天代码如下:
from microbit import * coin_count=0 old_count=-1 pinflag=0 def num2img(x):#设置显示函数 imgarray=[[12,18,18,18,12],[4,12,4,4,14],[14,1,6,8,15],[15,1,2,9,6],[6,10,18,31,2],[31,16,30,1,30],[4,8,14,17,14],[31,2,4,8,16],[14,17,14,17,14],[14,17,14,4,8]]#设置数组,保存显示段码 numarray=imgarray[x] resstr="" for i in range(5): numstr=(str(bin(numarray[i])).replace("1", "9"))[2:] c=5-len(numstr) for j in range((c)): numstr="0"+numstr resstr=resstr+numstr+":" return resstr[0:len(resstr)-1] while True: if(old_count!=coin_count): if(coin_count<10):#判断存钱数量在可固定显示范围内 display.show(Image(num2img(coin_count)))#显示当前钱数 old_count=coin_count if(coin_count>=10):#判断当前钱数在滚动显示范围 display.scroll(str(coin_count))#显示当前钱数 if(pin0.read_digital()==0 and pinflag==1):#判断两个夹片是否真的短路 coin_count=coin_count+1#钱数加一 pinflag=0 if(pin0.read_digital()==1):#检查两个夹片是否短路 pinflag=1 sleep(1000)//防抖动延时
以上就是“Python怎么实现DIY计数存钱罐”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注创新互联行业资讯频道。
本文标题:Python怎么实现DIY计数存钱罐
当前URL:http://cdiso.cn/article/ihphhp.html