統(tǒng)計(jì)您需要花費(fèi)多長時(shí)間來響應(yīng)執(zhí)行信號(hào)。使用由3個(gè)4026B十進(jìn)制計(jì)數(shù)器驅(qū)動(dòng)的3x7段LED顯示器。
硬件部件
- Arduino UNO × 1個(gè)
- 7段LED顯示屏,InfoVue × 3
- 4026B十年計(jì)數(shù)器× 3
- 5毫米LED:紅色 × 1個(gè)
- 5毫米LED:綠色 × 1個(gè)
- 觸覺開關(guān),頂部致動(dòng) × 2
- 通孔電阻,680歐姆 × 3
- 電阻1k歐姆× 2
- 蜂鳴器
我決定做一個(gè)反應(yīng)計(jì)時(shí)器,因?yàn)槲蚁雽W(xué)習(xí)和試驗(yàn)由4026B十進(jìn)制計(jì)數(shù)器驅(qū)動(dòng)的7段LED顯示屏,并圍繞Arduino UNO / Arduino NANO建造了它。
計(jì)時(shí)器的操作如下:
1.在接通電源時(shí),紅色的“準(zhǔn)備就緒”指示燈閃爍兩次,表明系統(tǒng)已啟動(dòng),并且LED顯示屏顯示000。
2.按下開始按鈕,紅色的“準(zhǔn)備就緒”指示燈將隨機(jī)點(diǎn)亮1到5秒。
3.紅燈熄滅,綠色的Go燈點(diǎn)亮,LED顯示屏開始計(jì)數(shù)(以毫秒為單位)。
4.盡快按下反應(yīng)按鈕,時(shí)間停止計(jì)時(shí),綠燈熄滅。如果用戶花費(fèi)的時(shí)間超過999毫秒,則蜂鳴器將響起并將顯示重置為000。
5.上次反應(yīng)的時(shí)間(以毫秒為單位)將保留在顯示屏上,直到再次按下“開始”按鈕。
7段顯示
使用的7段顯示器在頂部和底部有2行5針引腳。7個(gè)引腳用于形成要顯示的數(shù)字或字母的7個(gè)LED段,第8個(gè)引腳控制小數(shù)點(diǎn)。其余2個(gè)引腳是公共連接,位于頂行和底行的中間。我使用的顯示器是Multicomp Pro LS0565SRWK。引腳布局如下:
LED段必須用串聯(lián)電阻保護(hù)以降低電壓。理論上,您應(yīng)該為每個(gè)段使用一個(gè)單獨(dú)的電阻以獲得一致的亮度,但是為簡單起見,我在公共引腳和負(fù)地之間使用了一個(gè)電阻。這將意味著某些數(shù)字的點(diǎn)亮段較少,例如1會(huì)比8亮。如果您對(duì)此不滿意,則可以使用7個(gè)獨(dú)立的電阻,每個(gè)段引腳上一個(gè)。
我還使用了680歐姆電阻。可以將其降低以增加顯示器的亮度,但是請(qǐng)檢查電壓并確保不超過所使用顯示器的建議最大電壓。
4026B十進(jìn)制計(jì)數(shù)器
4026B十進(jìn)制計(jì)數(shù)器是一種老式芯片,因此功率輸出有限,但這足以滿足我們的要求。大多數(shù)十進(jìn)制計(jì)數(shù)器已將輸出編碼為二進(jìn)制,但是4026B具有七個(gè)輸出引腳,并以與7段顯示器的引腳匹配的模式為它們供電。因此,不需要驅(qū)動(dòng)程序即可將二進(jìn)制轉(zhuǎn)換為七段模式。
4026B的引腳布局如下:
引腳的用法如下:
引腳1 –時(shí)鐘:從低到高轉(zhuǎn)換時(shí)跳變,并加1。
引腳2 –時(shí)鐘禁止/禁止:當(dāng)高電平時(shí)將停止計(jì)數(shù)。因此在我們的項(xiàng)目中接地。
引腳3 –顯示啟用輸入:當(dāng)高電平時(shí),電流計(jì)數(shù)會(huì)在顯示輸出引腳a至g中反映出來,因此要連接到我們項(xiàng)目中的電源電壓,就希望顯示計(jì)數(shù)。
引腳4 –顯示啟用輸出:反映引腳3的狀態(tài)以傳遞到其他計(jì)數(shù)器。
引腳5 –執(zhí)行:當(dāng)計(jì)數(shù)器達(dá)到9并返回到0時(shí),此引腳從低變高。這可以用作第二個(gè)4026B定時(shí)器的時(shí)鐘輸入,例如,顯示十位數(shù)。
針8 – 0v:芯片需要自己的電源連接,并且針8接地(-ve端子)
引腳14-非門限的“ C”段:可用于在計(jì)數(shù)0、1和2后重新開始計(jì)數(shù)。用于以12小時(shí)格式顯示時(shí)間。
引腳15 –復(fù)位:高電平有效。當(dāng)此引腳變?yōu)楦唠娖綍r(shí),將計(jì)數(shù)器重置為0。
引腳16-+ V:正電源。通常為3v至15v,但請(qǐng)檢查數(shù)據(jù)表以了解所擁有的芯片。
其他引腳–輸出引腳:7個(gè)輸出引腳,與LED顯示屏中的段相對(duì)應(yīng)。
關(guān)于程序
這里唯一要提及的方面是時(shí)鐘輸出。
tone()函數(shù)會(huì)生成一個(gè)從低到高再到指定頻率的方波。我們正在輸出一個(gè)1000hz的頻率,該頻率會(huì)導(dǎo)致引腳7每毫秒變高一次。此引腳連接到單位計(jì)數(shù)器的時(shí)鐘輸入,從而導(dǎo)致顯示計(jì)數(shù)(以毫秒為單位)。
沒有為音調(diào)設(shè)置持續(xù)時(shí)間,因此它將持續(xù)到用戶按下反應(yīng)按鈕,然后我們調(diào)用noTone()停止輸出。
使用的Arduino引腳
我沒有使用引腳D0和D1,因?yàn)樗鼈円灿糜?a class="article-link" target="_blank" href="/baike/1555795.html">串行通信。因此,如果您想更改程序以使用串行監(jiān)視器顯示“已用”的值,以檢查計(jì)時(shí)器是否正確,它將停止計(jì)時(shí)器正常工作,因?yàn)樗鼘⒏脑撘_的INPUT_PULLUP設(shè)置。