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