溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Python怎么實(shí)現(xiàn)DIY計(jì)數(shù)存錢罐

發(fā)布時(shí)間:2022-01-13 10:32:43 來源:億速云 閱讀:172 作者:iii 欄目:互聯(lián)網(wǎng)科技

今天小編給大家分享一下Python怎么實(shí)現(xiàn)DIY計(jì)數(shù)存錢罐的相關(guān)知識(shí)點(diǎn),內(nèi)容詳細(xì),邏輯清晰,相信大部分人都還太了解這方面的知識(shí),所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。

  實(shí)物成品如下圖:Python怎么實(shí)現(xiàn)DIY計(jì)數(shù)存錢罐

  這個(gè)計(jì)數(shù)存錢罐主要原理就是利用了硬幣可以導(dǎo)電的基本特性。在盒子放入硬幣的入口處設(shè)置一個(gè)略小于硬幣厚度的金屬夾片,分別連接IO口和GND,這樣在有硬幣投入的時(shí)候,就可以檢測(cè)到導(dǎo)通,進(jìn)而計(jì)數(shù)保存的硬幣數(shù)量。

  這個(gè)計(jì)數(shù)存錢罐主要使用的器件如下:

  TurnipBit一塊

  紙盒一個(gè)

  導(dǎo)線若干

  金屬夾片兩片

  制作過程如下:

  1)硬件制作

  1.在紙盒頂端做一個(gè)開口,大小以正好放入一元硬幣為最佳;

  2.在紙盒正面做三個(gè)開口,大小以正好露出顯示屏和按鍵為最佳;

  3.放入TurnipBit;

  2)軟件制作

  1.做一個(gè)數(shù)組,用來保存顯示圖形的段碼;

  2.做一個(gè)函數(shù),用來顯示圖形;

  3.在循環(huán)中循環(huán)掃描兩個(gè)金屬夾片是否短路;

  4.檢測(cè)都短路,延時(shí)一會(huì),再次檢測(cè)是否短路;

  5.兩次均檢測(cè)到短路,即可判斷為有硬幣投入,即可計(jì)數(shù)加一;

  6.在顯示屏上顯示的數(shù)值做相應(yīng)調(diào)整。

  以上為TurnipBit制作計(jì)數(shù)存錢罐的基本原理和做法,幾天代碼如下:

from microbit import *

coin_count=0
old_count=-1
pinflag=0

def num2img(x):#設(shè)置顯示函數(shù)
	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]]#設(shè)置數(shù)組,保存顯示段碼
	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):#判斷存錢數(shù)量在可固定顯示范圍內(nèi)
			display.show(Image(num2img(coin_count)))#顯示當(dāng)前錢數(shù)
		old_count=coin_count

	if(coin_count>=10):#判斷當(dāng)前錢數(shù)在滾動(dòng)顯示范圍
		display.scroll(str(coin_count))#顯示當(dāng)前錢數(shù)

	if(pin0.read_digital()==0 and pinflag==1):#判斷兩個(gè)夾片是否真的短路
		coin_count=coin_count+1#錢數(shù)加一
		pinflag=0
	if(pin0.read_digital()==1):#檢查兩個(gè)夾片是否短路
		pinflag=1
		sleep(1000)//防抖動(dòng)延時(shí)

以上就是“Python怎么實(shí)現(xiàn)DIY計(jì)數(shù)存錢罐”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會(huì)為大家更新不同的知識(shí),如果還想學(xué)習(xí)更多的知識(shí),請(qǐng)關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI