您好,登錄后才能下訂單哦!
今天小編給大家分享一下Python怎么實現DIY計數存錢罐的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。
實物成品如下圖:
這個計數存錢罐主要原理就是利用了硬幣可以導電的基本特性。在盒子放入硬幣的入口處設置一個略小于硬幣厚度的金屬夾片,分別連接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計數存錢罐”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。