アストロボーイへの道        astro1

7.  7セグLED

 トラ技などの雑誌の記事を見ると、表示用のボードとして7セグLEDが8個搭載されたボードを選んだ。値段が手頃なのは良かったが、添付され た資料はなく、ネット上で関連記事を探すのに苦労した。国内の記事が見つからず、海外の英文の記事に頼らざるを得なかった。搭載されている制御用のチップ は中国メーカーの物で、一応英文で書かれているが、分かりづらい英語で、部分的に中国語が混じり解読に苦労した。

(1)外観

 

                図1.ボードの外観

(2)ボードの回路図



                  図2.ボードの回路図


(3)7セグLEDの回路図と文字表示

 1つのモジュール内に4個の7セグLEDが搭載されており、7つのセグメントA, B, C, D, E, F, GそれぞれにLEDとデータビットが割り当てられており、表示する文字はどのLED、即ち、どのビットを立てるかで決められる。各7セグLED毎にLED のカソードが共通になっており、回路図でDIG1の場合、12ピンをGNDに落とすとDIG1が有効になり、LED AからGに対応した11, 7, 4・・・5ピンをHIGHレベルにすることでLEDが点灯する。


                    図3.7セグLEDの寸法と内部回路図


   表1.表示文字コード表

 文字 
コード HEX
コード BIN
0
3F
0011 1111
1
06
0000 0110
2
5B
0101 1011
3
4F
0100 1111
4
66
0110 0110
5
6D
0110 1101
6
7D
0111 1101
7
27
0010 0111
8
7F
0111 1111
9
6F
0110 1111
A
77
0111 0111
b
7C
0111 1100
c
58
0101 1000
d
5E
0101 1110
E
79
0111 1001
F
71
0111 0001
H
76
0111 0110
J
0E
0000 1110
L
38
0011 1000
o
5C
0101 1100
P
73
0111 0011
q
67
0110 0111
r
70
0111 0000
s
6D
0110 1101
t
78
0111 1000
U
3E
0011 1110
y
66
0110 0110
なし
00
0000 0000


(4)LED DRIVER CONRROLLER (TM1638)

  このチップの製造メーカーは TITAN MICRO ELECTRONICSという会社。チップの仕様書は ココ 。



       図4.ArudinoからTM1638へのデータ転送タイミング

 図4のように、ArudinoからTM1638のデータ転送は、STB信号がLOWの時に有効。CLK信号がHIGHになる時にDIO信号が取り込まれる。



                 Command1 : display mode,   Command2 : data instruction,  Command3 : 表示レジスタ・アドレス, Data1〜n : 文字コード

            図5.アドレス表示インクリメント モード時のデータ転送プロトコル



             Command1 : display mode,   Command2 : data instruction,  Command3 : 表示レジスタ・アドレス, Data1 : 文字コード

                                 図6.固定アドレス書込 モード時のデータ転送プロトコル


     表2.コマンド・コード(抜粋)
コマンド種別
命令
コード HEX
display mode
表示ON&輝度最大
8F
data instruction
アドレス自動インクリメント 40
data instruction 固定アドレス書込 44


 表3.表示レジスタ・アドレス
レジスタ名
アドレス HEX
7SEG 0
C0
7SEG 1
C2
7SEG 2
C4
7SEG 3
C6
7SEG 4
C8
7SEG 5
CA
7SEG 6
CC
7SEG 7
CE

(5) Arduino との接続


        図7.Arduino との接続

(6)Arduinoプログラム

   図4の転送タイミング( 図5と図6の Command, Data を転送 )は行#10〜16で関数化した。引数 value として表2のコードを与える。
 図5と図6のデータ転送プロトコルは行#31〜39で関数化した。引数 ad には表3の表示レジスタ・アドレス、chr には表1の文字コードが入る。レジスタ・アドレスと文字コードの対応は、予め、行#7, 8で配列を作っておき、行#55〜57で for文を使って逐次代入した。
 レジスタの初期化は行#18〜29で関数化した。アドレス自動インクリメント・モードを使用して、全レジスタに"0"を挿入する。
 図5、6の Command1 display mode は行#49で予め表示ON、輝度最大にセットした。




                           図8.Arduino プログラム・リスト   "AStro-1"表示

AStro-1表示
           図9."AStro-1" 表示 結果

< Top Page に戻る >