2020-02-17

Arduino 控制 SH8103BS 十六段顯示器

最近乘搭升降機時留意到有部分升降機的樓層顯示器是十六段顯示器 (16-Segment Display) ,便想了解其運作方式
十六段顯示器的模組編號是 SH8103BS
十六段顯示器是一種很方便顯示 0 至 9 數字 及 A 至 Z 字母 (但設計上 5 與 S 會相同,因此需一些取考)

外觀

見下文
十六段顯示器 的 正面

見下文
十六段顯示器 的 背面
七段顯示器的引腳 的 擺放位置 與 十六段顯示器 不同
七段顯示器的引腳 擺放在顯示器的上下位置,而 十六顯示器的引腳 擺放在顯示器的左右位置

引腳編排及用途

181716151413121110
用途ARUPRBGRDNRCPVCC / GNDDR
ALUPUPLFGLDNDNLEDL
123456789

編號引腳用途
1AL上方左邊LED
2UP內上方LED
3UPL內左上方LED
4F左上方LED
5GL中央左邊LED
6DN內下方LED
7DNL內左下方LED
8E左下方LED
9DL下方左邊LED
10DR下方右邊LED
11VCC / GND共陽電源 / 共陰接地
12P點LED
13C右下方LED
14DNR內右下方LED
15GR中央右邊LED
16B右上方LED
17UPR內右上方LED
18AR上方右邊LED


LED位置 (模擬及示範效果)

EDLDRCBALARFGLGRUPDNUPRDNLUPLDNRP

線路接駁

見下文
設計原型
由於 十六段顯示器 共有 18支引腳,單是原型的線路已經非常複雜
在下設計原型時都連錯幾次線路

因此在下設計一塊簡單的 十六段顯示器轉接器 方便接駁 十六段顯示器

見下文
見下文
雖然使用 印刷電路板 將十六段顯示器 模組化,但線路仍與原型設計一樣繁複
將 十六段顯示器模組 及 Arduino Nano 安裝到 麵包板,再用 跳線 將 引腳 連接
接駁線路時,如果顯示器為共陽可以使用 Arduino 的 5V 或 共陰可以使用 GND ,滅省 1支引腳

見下文
運作時的效果,顯示 0 至 9 及 A 至 Z 的圖案

總結

十六段顯示器共需要使用 18支引腳 ,以 Arduino UNO Rev3 來執行
不計算 TX引腳RX引腳 便剛好用盡 12支數碼引腳6支類比引腳
因此如果使用在下之前介紹的 I2C, SPI 等,便可以令 微控制器 節省使用引腳使用數量

見下文
見下文
例如這個原型設計使用 2塊HEF4094BP晶片 ,控制 十六段顯示器 16支引腳
而 HEF4094BP 只需要使用 3支引腳 便可以發送 8位元訊號
如果使用 PCF8574 能使用地址分辨需要控制的晶片,可以使用更少引腳

參考資料

沒有留言 :

張貼留言