HOME  アクセス  研究所の紹介
電子工作の部屋  CADの部屋  ダウンロードページへ
マトリックスLED  ESP8266(遠隔制御)  フルカラーLED
Arduino_IDE
マトリックスLEDの点灯原理  キットの組立て方  キット3個とマイコンで顔を  ソフト
<マトリックスLEDの点灯原理>

一般的なマトリクスLEDは8×8(下図)や16×16ですが
これで解説すると複雑で見にくいくため
説明を簡素化するために
3×3のマトリクスLEDを定義して解説します。



ここの解説に使用するマトリックスLEDは
下図のように9個のLED(A〜I)が配置された
3×3マトリックスLEDとして
配線が6本引き出されたものです。
アノード側が1、2、3ピンの配線( 赤線 )が
カソード側は4、5、6ピンの配線( 青線 )が
引き出されている構成として解説します。



動作の解説前に基本的な話ですが
電流は電圧の差があれば+から−方向へ
(電位の高い側から低い側へ)流れます。
またLEDはダイオードですので
アノード(赤線)側からカソード(青線)方向へは
電流を流せますが逆方向には電流を流せません。
(1、2、3から4、5、6側へは電流を流すことができますが
4、5、6側から1、2、3へは電流はながせません。)

@まず1ピンを+とします。、
2ピンと3ピンは−(0V)又はHi-Z(開放状態)とし
4ピンと5ピンは−、6ピンは+(又はHi-Z)とすると
A、Bは点灯、Cは消灯となります。
F、Iは逆方向のため電流は流れません。


Aはアノードが1ピン、カソードが4ピンに
つながっています。+から−方向へ電流が流れ
Aが点灯します。
Cはアノードが1ピン、カソードが6ピンに
つながっています。電圧の差がないため
電流はながれません。



A次に2ピンを+として
4ピンが−、5ピンと6ピンが+とすると
Dは点灯、E、Fは消灯となります。
他のLEDは消灯です




Bさらに3ピンを+として4ピンが+、5ピンと6ピンが−とすると
Gは消灯、H、Iは点灯となります。
他のLEDは消灯です



この@からBの動きをすばやく繰り返すと
(例えば@10ms⇒A10ms⇒B10ms⇒@10ms・・で繰り返すと)
人間の目には下のように点灯しているように見えますが
実際には各LEDは1/3以下の時間で点灯している点滅状態です。




さて実際に使用する8×8マトリクスLEDは
下のような構成となるので端子が16点有り
配線は16本必要となります
(アノード側8本、カノード側8本)
図が見にくくなるので3×3のマトリックスで
解説しましたが原理は同じです。


LEDの列が3列から8列になるので
3サイクル(@〜B)が
8サイクル(@〜G)にかわります。
8×8マトリクスLEDをマイコンで
直接制御するには
この16本をマイコンと接続します。※1
したがって各列のLEDは1/8以下の時間で点灯させる
点滅状態での制御となります。


※1 注意 マイコン側、電流最大定格の考慮が必要です。
LEDの端子間定格電圧は約2Vです
5V系、3.3V系マイコンのIOポートと直結すると
マイコンのポート出力電流が
マイコン側の電流最大定格を超えるので
基本的にマイコンが壊れます。


言い換えると前述のサイクルを
常に繰り返さない限り
各列を異なるパターン ※2
で点灯しているように
(実際には点滅ですが・・・)
見せることができません。
マトリクスLEDを同じ表示状態で継続させるだけでも
マイコンは結構忙しくなります。

※2 全点灯(A側をすべて+、K側をすべて−で可能)
などばは別です

さてマイコン側の処理がマトリクスLEDを
点灯させるだけならまだ良いのですが
実際は他の処理にも時間が必要です。
その所要時間の長さによっては
瞬間的に表示が点滅して見える等の
支障が生じることがあります。

さらに8×8マトリクスLEDを3個を
制御しようとしたら
どうなるでしょう?
もうお分かりですね・・
48本の配線が必要となります。
裏技で16本をパラで接続し
3本(EN)とすると
配線は減らせますが
サイクルを8サイクルから24サイクル
とする必要があるので
点灯時間が1/24になってしまい
最大輝度は下がります。
(詳細説明は省きます)
まあマイコンを3つ用意すれば
良いのかもしれません・・・

そこへ救世主のように登場するのが
LEDドライバ(LEDドライバIC)です。
LEDドライバにはメモリが搭載されており
マイコンはLEDドライバにひとたび
点灯パターンの情報を送ってやれば
LEDドライバは内部メモリに
その情報を記憶し、マイコンの代わりに
LEDドライバが繰り返し
マトリックスLEDを表示させる制御を
行ってくれのです。
したがってマイコンは、
次に点灯パターンを変更させる時まで、
他の作業に専念することができます。
LEDドライバは簡単な処理に特化した
マイコンと考えても良いでしょう。
そして2種類のマイコンで作業分担している
と考えても良いでしょう。

マイコンとLEDドライバICのI/Fですが
SPI方式やI2C方式等があり
方式により配線の本数が代わります。
またS/Wも代わります。

ここで紹介するキットに使用している
MAX7219はSPI方式のLEDドライバICです。
昔からある3線式のSPI方式です。
シリパラ変換は74XX595のと同じ要領です。
TC74HC595のデータシートを見ていただくと
参考になると思います。
3本の配線が必要です。

I2C方式は2線式SPIとも呼ばれ
マイコンとの間の接続は2本になり
マイコン側のポートを節約できます。
同じ配線を双方向で使用するため
出力部はオープンドレイン
(オープンコレクタ)
となっているためプルアップ抵抗が必須であり
抵抗値により通信最大レートが変わってきます。
オープンドレインは
OFF⇒ONの変化は
すばやく行えますが
ON⇒OFFの変化は緩慢です。
その速さはプルアップ抵抗に
流れる電流に依存するからです。
抵抗値を低くすれば
電流が多く流れ
ON⇒OFFの変化が速くなりますが
接続されているICの電流値の
絶対最大定格を超えないように
抵抗値を定めるようにします。
もちろん抵抗の定格電力も考慮が必要です。
またマイコンとドライバICの駆動電圧が異なる
場合には回路に工夫が必要となります。

他にI2Cの概念としてマイコンがマスターとなり
センサICやドライバICがスレーブとなり
複数のデバイスに2本の線を接続します
スレーブ側はアドレスが設定され
このアドレスで、どのデバイスへの指示なのか
認識します。(詳細説明は省きます)



経緯・概略・制御の基本  キットの組立て方  キット3個とマイコンで顔を  ソフト
CADの部屋  ダウンロードページへ
測定器の部屋  シュミレーションの部屋
 北摂ものづくり研究所TOP



(最終更新 2017-10-15)