TurnipBit口袋程式設計計算機DIY計數存錢罐

2021-08-19 13:04:05 字數 1962 閱讀 4440

下面使用turnipbit開發板自己製作了乙個計數存錢罐,不光能存錢,還能計數,還能顯示存了多少錢,分享出來給大家交流學習一下。

實物成品如下圖:

這個計數存錢罐主要原理就是利用了硬幣可以導電的基本特性。在盒子放入硬幣的入口處設定乙個略小於硬幣厚度的金屬夾片,分別連線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

defnum2img

(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)//防抖動延時

利用POVME計算蛋白的口袋的體積

這裡主要介紹一下我自己用povme計算分子動力學軌跡中的蛋白活性口袋的體積的變化。首先 先將蛋白中的所有的frames按照一定的方式進行align 這裡我用的是阿爾法碳原子作為align的骨架 將align之後的每乙個frame儲存成pdb的格式。上面所有的處理過程都是用的amber中的ptraj模...

計算機保研複試刷題 神奇的口袋

有乙個神奇的口袋,總的容積是40,用這個口袋可以變出一些物品,這些物品的總體積必須是40。john現在有n個想要得到的物品,每個物品的體積分別是a1,a2 an。john可以從這些物品中選擇一些,如果選出的物體的總體積是40,那麼利用這個神奇的口袋,john就可以得到這些物品。現在的問題是,john...

做遊戲,學程式設計(C語言) 14 口袋妖怪

應 祝顧笙同學的要求,分享16級同學實現的口袋妖怪遊戲demo。實現了經典遊戲口袋妖怪的簡化版,包括簡單的劇情和對戰系統,可以存檔 自由刷怪公升級。以下為大概的實現過程 1.實現人物在地圖上的自由移動。通過input變數改變地圖的擷取位置實現地圖的移動 2 加入了戰鬥函式和介面切換函式,這時只作為乙...