
mBlock & Arduino(17)四位數七段顯示器
mBlock & Arduino(16)控制步進馬達 << 前情 在〈mBlock & Arduino(7)七段顯示器之 HELLO!〉中談過七段顯示器的原理與運用,如果你需要多個位數,基本上可以自行連接多個七段顯示器,只是七段顯示器需要的腳位很多啊?Arduino 腳位不夠用怎麼辦? 兩位數七段顯示器如果想要自行接線,設計出兩位數七段顯示器,若使用共陰極七段顯示器,可以如下設置電路: 這樣的電路,可以使用 10 個腳位,來控制兩個七段顯示器,其中 D3 到 D10,可分別控制七段顯示器上的 LED,而 D13 與 D12,可控制左邊與右邊的七段顯示器哪個要顯示,如果 D13 為高電位而 D12 為低電位,那麼右邊的七段顯示器會依 D3 到 D10 哪些腳位為高電位而顯示,如果 D13 為低電位而 D12 為高電位,那麼左邊的七段顯示器會依 D3 到 D10 哪些腳位為高電位而顯示。 這樣不是一次只能顯示一個七段顯示器嗎?沒錯!不過,只要 D13 與 D12 切換速度夠快,那麼就會像是同時點亮兩個七段顯示器!類似地,你可以銜接三位數、四位數等七段顯示器! 四位數七段顯示器如果不想要自行接線路,那麼市面上有已經銜接好的二合一、四合一等各種位數的七段顯示器,以四合一的七段顯示器為例,由於每個七段顯示器會需要 8 個腳位控制其上的 LED,再加上各 4 個共陰或共陽腳位,因此基本上會有 12 個腳位,當然,如果還要附帶有「:」控制等腳位的話,就會有 12 個腳位以上。 我手邊這個四位數七段顯示器,就是基本的 12 腳位: 依上圖來看的話,下方有六個腳位,上方有六個腳位,最左下方的腳位編號是 1,依逆時針依序編號至 6,然後右上方是 7,依逆時針編號至左上方的 12: 當然,最重要的,是知道這些腳位,分別是控制哪個 LED,以及哪些腳位控制哪個七段顯示器,這在上圖是使用 0 到 3 以及 A 到 H(DP) 表示,0 表示最右邊的七段顯示器, 3 表示最左邊的七段顯示器,例如,當 3 為低電位而 0、1、2 為高電位時,那麼是控制最左邊的七段顯示器,至於 A 到 H(DP),如下圖表示: 因此,如果想要運用這個四位數七段顯示器,可以如下銜接電路: 使用 mBlock 控制七段顯示器銜接好電路之後,那麼就可以寫程式來控制了,基本上就是用迴圈來逐個控制與顯示,我們稍微改寫一下〈mBlock & Arduino(7)七段顯示器之 HELLO!〉中的範例,以達到控制之目的: 其中 執行程式之後的效果是 … 嗯?由於透過 mBlock 控制 Arduino 會有速度上的限制,因此,你看到的是四個數字輪流閃動,而不是看起來一起亮,不過,這當作瞭解四位數七段顯示器運作原理,倒是不錯的方式,如果想要看起來有同時顯示的效果,那麼可以在 Arduino IDE 中撰寫如下的程式,其運作原理與上面的程式是類似的:
在 |