在這個(gè)項(xiàng)目中,我們將使用chipKIT Uno32板構(gòu)建一個(gè)數(shù)字秒表,該秒表能夠?qū)Ψ昼?,秒?/10秒進(jìn)行計(jì)時(shí),并具有基本的啟動(dòng)和停止控制功能。 MAX7219驅(qū)動(dòng)的8位七段LED顯示器用于顯示經(jīng)過(guò)的時(shí)間。秒表停止時(shí),Uno32板上的 重置 開(kāi)關(guān)將用于將當(dāng)前時(shí)間重置為0。
chipKIT數(shù)字秒表項(xiàng)目插圖
理論
秒表是一種測(cè)量時(shí)計(jì)的時(shí)計(jì)。從啟動(dòng)到停止之間經(jīng)過(guò)的時(shí)間量。秒表在許多活動(dòng)中很有用,包括體育,游戲和烹飪,這些活動(dòng)可以用來(lái)計(jì)時(shí)。我們將使用 chipKIT Uno32開(kāi)發(fā)板和 SPI7SEGDISP8.56-1R顯示模塊構(gòu)建數(shù)字秒表。秒表的時(shí)間分辨率為1/10秒或100毫秒,最大可測(cè)量間隔為99分鐘,此后秒表將再次翻轉(zhuǎn)為零??梢栽诖颂幷业交贛AX7219的串行七段顯示接口的更多詳細(xì)信息。
《表邊框=“ 5” cellspacing =“ 0” cellpadding =“ 2” align =“ center” 》 SPI7SEGDISP8.56-1R 是基于MAX7219的8 -digitseven段LED顯示,僅需MCU的3個(gè)I/O引腳即可控制所有數(shù)字段。它還支持通過(guò)軟件命令進(jìn)行亮度控制。
從我們的Tindie商店購(gòu)買(mǎi)SPI7SEGDISP8.56-1R
電路設(shè)置
SPI7SEGDISP8.56-1R模塊的電源引腳(VCC和Gnd)連接到Uno32板的5V和Gnd接頭引腳。 DIN,CLK和LOAD信號(hào)線(xiàn)由Uno32板的數(shù)字輸出引腳7、6和5驅(qū)動(dòng)。還需要一個(gè)輕觸開(kāi)關(guān)在秒表的開(kāi)始/停止之間切換。它連接到Uno32板的中斷引腳INT0(在I/O引腳38上可用)。一個(gè)簡(jiǎn)單的RC濾波電路用于對(duì)開(kāi)關(guān)進(jìn)行去抖動(dòng)。下圖顯示了該項(xiàng)目中實(shí)現(xiàn)的開(kāi)關(guān)去抖電路及其去抖時(shí)間??梢酝ㄟ^(guò)如下所示的簡(jiǎn)單RC電路瞬態(tài)響應(yīng)方程來(lái)計(jì)算去抖動(dòng)時(shí)間。對(duì)于給定的R2和C1值,去抖動(dòng)時(shí)間計(jì)算為?3.5ms。
帶硬件去泡電路的秒表啟動(dòng)/停止開(kāi)關(guān)
該項(xiàng)目的完整設(shè)置如下圖所示。 “開(kāi)始/停止”開(kāi)關(guān)和去抖動(dòng)電路建立在面包板上。
項(xiàng)目的完整設(shè)置
帶有反跳電路的啟動(dòng)/停止開(kāi)關(guān)布置在面包板上
chipKIT草圖
該項(xiàng)目使用 millis()函數(shù)進(jìn)行計(jì)時(shí)。 millis() 是Arduino中的內(nèi)置函數(shù),因此在MPIDE中,該函數(shù)返回自當(dāng)前草圖開(kāi)始起經(jīng)過(guò)的毫秒數(shù)。此值在大約50天后溢出。此秒表項(xiàng)目的時(shí)間分辨率為1/10秒或100 ms。因此,將計(jì)數(shù)器設(shè)置為每100 ms遞增一次,它會(huì)溢出并在10個(gè)計(jì)數(shù)中回滾到0,這相當(dāng)于1秒。定義變量來(lái)存儲(chǔ)分鐘,秒和十分之一秒的信息。經(jīng)過(guò)的時(shí)間以MM-SS-TS(TS為十分之一秒)格式顯示在七段顯示屏上。 LedControl庫(kù)在該項(xiàng)目中用于將基于MAX7219的七段式LED顯示器與chipKIT Uno32板接口。按下連接到INT0(引腳38)引腳的按鈕即可啟動(dòng)和停止秒表。 INT0觸發(fā)模式定義為 FALLING ,這意味著當(dāng)INT0引腳從高電平變?yōu)榈碗娖綍r(shí),將調(diào)用中斷例程。可以從下面的鏈接下載該項(xiàng)目的完整草圖。將此草圖上傳到您的chipKIT Uno32板上,秒表就可以開(kāi)始滾動(dòng)了。
下載秒表草圖
下載 LedControl
輸出
秒表的操作非常簡(jiǎn)單,如前所述。開(kāi)機(jī)時(shí),秒表顯示全零。按下輕觸開(kāi)關(guān)啟動(dòng)秒表。第二次按下時(shí),秒表停止。可以通過(guò)按Uno32板上的Reset(重置)按鈕將其重置為零。
秒表從七位LED顯示屏上的所有零開(kāi)始
按下開(kāi)關(guān)可啟動(dòng)和停止秒表
責(zé)任編輯:wv
-
電路
+關(guān)注
關(guān)注
171文章
5740瀏覽量
171190 -
顯示器
+關(guān)注
關(guān)注
21文章
4862瀏覽量
139352 -
秒表
+關(guān)注
關(guān)注
3文章
77瀏覽量
21954
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論