当前位置:首页>新闻中心>公司动态>TurnipBit口袋编程计算机DIY计数存钱罐

TurnipBit口袋编程计算机DIY计数存钱罐

发布时间:2017-08-24 点击数:127

  下面使用TurnipBit开发板自己制作了一个计数存钱罐,不光能存钱,还能计数,还能显示存了多少钱,分享出来给大家交流学习一下。


  详细教程可参考:http://turnipbit.tpyboard.com 微-信公众号:MicroPython玩家汇


  实物成品如下图:


1.png

2.png


  这个计数存钱罐主要原理就是利用了硬币可以导电的基本特性。在盒子放入硬币的入口处设置一个略小于硬币厚度的金属夹片,分别连接IO口和GND,这样在有硬币投入的时候,就可以检测到导通,进而计数保存的硬币数量。


  这个计数存钱罐主要使用的器件如下:


  TurnipBit一块


3.png


  纸盒一个


  导线若干


  金属夹片两片


  制作过程如下:


  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)//防抖动延时


在线客服
  • 销售热线
    0536-8838268