在先前的課程當中,我們曾經教大家使用兩位數的七段顯示器。今天,我們來談談更為實用的四位數七段顯示器。課程開始之前,大家可以想想,生活中哪邊會出現這樣的設備呢?
銀行醫院叫號機、時鐘、溫度、磅秤儀表,都會看到這種元件的蹤影。這樣的顯示器有各種形式,有些每個位數有小數點,有的兩個數字之間還會有冒號,因此我們在選擇採購零件時要特別注意兩件事:
玩學機四位七段顯示器學習套件採用的是 I2C 控制方式、控制晶片是使用 TM1650。
I2C(Inter-Integrated Circuit) 是1980年代由飛利浦半導體發展的串列通訊協議,常用在微控制器、感測器等設備上。具有下列的一些特點:
您可以下載技術手冊來了解怎麼驅動與控制 TM1650 晶片。底下是幾個重點內容摘錄:
功能特點:
通訊協議:
資料參考連結: https://www.opledtw.com/zh-hant/blog/7-segment-16-segment-display-numeral-alphabet-explained/
數字:
字元 | A | B | C | D | E | F | G | DP | 十進位 | 十六進位 |
---|---|---|---|---|---|---|---|---|---|---|
0 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 63 | 3FH |
1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 06 | 06H |
2 | 1 | 1 | 0 | 1 | 1 | 0 | 1 | 0 | 91 | 5BH |
3 | 1 | 1 | 1 | 1 | 0 | 0 | 1 | 0 | 79 | 4FH |
4 | 0 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 102 | 66H |
5 | 1 | 0 | 1 | 1 | 0 | 1 | 1 | 0 | 109 | 6DH |
6 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 125 | 7DH |
7 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 07 | 07H |
8 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 127 | 7FH |
9 | 1 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 103 | 67H |
英文字母:
from machine import Pin, SoftI2C
i2c = SoftI2C(scl = Pin(22), sda = Pin(23))
d = bytearray(1)
brightness = 1
d[0] = brightness * 16 + 1 # xbbbbxxxd b = brightness d = on/off
i2c.writeto(0x24, d) # 打開
digit = b'\x06\x7d\x7f\x7f' # 七段數字顯示 1688
for i in range(4):
d[0] = digit[i]
i2c.writeto(0x34+i, d) # 顯示四位數字