這次來使用汯鉅科技推出的七段顯示器
汯鉅科技所推出的七段顯示器為I2C協定,內建在I2C1,所以在接線的時候比較方便,但也要小心不要接錯位置了。
打開線上實驗室,記得點選右上角的齒輪,在版本選擇的地方選用進階版,這樣我們才可以使用七段顯示器的積木。
開啟4位數七段顯示器的積木之後,這邊有3個已經寫好的積木可以使用,分別是4位數字、溫度和時間。
所以如果我想顯示多一點資訊的話,只有4位數的七段顯示器該如何製作?
其實不只是4位數七段顯示器,任何的顯示屏幕都會遇到資訊量太多,無法塞入同一個畫面的問題,所以這時候就要思考如何進行『換頁』,我選擇的方式是用類比的可變電阻。
可變電阻可以改變類比的訊號,以ePy-Lite來說可以調整從0~4095的範圍,因此如果今天我想顯示4個資訊,那我就只需要把4096除以4,分成四個區域:0~1024、1024~2048、2048~3069、3069~4095,加入4個判斷句,我就可以將4個不同的資訊透過旋轉可變電阻顯示在4位數七段顯示器上了!
接線的部分很簡單,我們只要把旋轉可變電阻的VCC、GND和OUT接在ePy-Lite上的3.3V、GND和AIN0的位置,另外4位數字七段顯示器的快接安插在(順序)3.3V、GND、I2C1_SCL、I2C1_SDA,汯鉅科技所設計的ePy-Lite上剛好順序都是一樣的,相當方便接線,不需要擴充板也沒問題。
我是接在ePy-Lite-X V1的擴充板上,如下圖。
接著,我就把上述的邏輯透過積木完成。
在進入迴圈前,我先將HTU21D設定好在I2C0,並把時間也設定好,ePy-Lite有內建時鐘計算的功能,即便delay了,他在通電上還是可以計時。
進入迴圈之後我先將日期的部分設定好,因為我需要使用4位數七段顯示器顯示月分與日期,但如果放在一起顯示會遇到十位數字的問題,也就是說我要在日期小於10的情況下在十位數字補0,不然月份會擠壓到10位數字,這樣就會變得奇怪。
中間的部分就是依照旋轉可變電阻(我將數值存放在VR這個變數中)的範圍去顯示不同的數值。
最後一個顯示為溫度,溫度的顯示需要2秒的響應時間,但這不會影響ePy-Lite在計算時間的部分,所以可以放心。
操作的時候會遇到一個小問題,如果VR在0~1024的階段就呼叫溫濕度,會有高機率出現I2C錯誤的狀況,所以我將它放在最後面。
我把範例的影片放在這邊。