HOME  アクセス  研究所の紹介
電子工作の部屋  CADの部屋  ダウンロードページへ
マトリックスLED  ESP8266  Arduino_IDE  準備中

簡単手順でマトリックスLEDを制御、顔を表現して遊んでみよう

きっかけは東京で定期的に開催されている100円ロボット部の
2016年4月「テーマ=顔」に参加した際に
これを使うとマトリックスLEDを簡単に
制御できてしまいそうだと知り試したのがきっかけです。
8×8マトリックスLED制御キットを3つ使用しArduinoに接続しています。
1つのLEDキットで口と鼻を、
残りの2つで目と眉毛を表現します。
キットはLED制御ドライバIC(MAX7219)付きで
SPI方式だから組み立て、接続は楽々。

Arduinoを使用すると参考ソフト(スケッチ)
があったのでS/Wの作成も簡単でした。
ただ模様の表示には二進数の和を計算する必要があり
これが結構面倒だったので
Excelを使ったツールで簡素化できるよう
工夫をしました。(後述)

<キットの応用例の動画>
(周囲の明るさで顔の表情を変化させてみました)
<動画のダウンロード>
Facebookの投稿動画へ接続

MAX7219{マトリックスLED(8×8)}制御用資料をダウンロード


現在、大阪の共立電子シリコンハウスにて展示中
600円/1キット にてMatrixLED制御キットを販売しております。

2016年(設置当初)に撮影


2017年4月28日撮影
2016年12月から電源投入(DEMOソフトにて動作)



ここで紹介するMatrixLED制御キットと
Arduino(別売)を使用すると手軽にMatrixLEDを集中制御できます。
このMatrixLED制御キットは3線式のSPIで制御する方式で
Arduinoとキットの間の接続は
3本のSPI用信号線と電源線2本を接続するだけです。
ハード面だけでなくソフト面も参考にできる情報が
というより限りなく欲しいものそのもの
があったので本当に楽でした。
10年前と比較するといい時代になったものです・・・

ArduinoとMax7219を使用したMatrixLED制御キット間の
接続をブロック図で下に紹介しますが
Arduinoから複数のキットを5本の線で
カスケード接続するだけなんです。
※電源はカスケード接続でなく
鵜飼型の接続でもいいけど・・
(実はCLKとLAT信号線も鵜飼配線でOK)




MAX7219キットを組み立て方ですが
部品点数はICとLEDと抵抗1個と
コンデンサ2個
(セラコン1個+電解コン1個)と
ソケット、コネクタだけです。
電子工作が苦手な方もこれならと思いませんか?

MAX7219マトリックスLED制御キット(タイプB)の構成部品です

マトリックスLED用ソケットは16ピンのソケットを
半分にカットして8ピンのソケット×2として使用します
L型ヘッダーピンも10ピンのものを
同様に半分にカットして5ピンで使用します
道具なしで手でも分割できます。
シリコンハウスレンタルショーケースでの販売は基本的に
タイプBで行っていく予定です。


・・・と思いながらも
念のため分割に自身のない方用にタイプAも残しました。
過去にヘッダーのカットに失敗した人は利用いただければと思います
MAX7219マトリックスLED制御キット(タイプA)の構成状態です
実装後はタイプAとタイプBに違いはありません。


くどいかもしれませんが
タイプAとタイプBの違いは
ソケットとL型ヘッダーを
カットしているか
カットしていないかの違いのみです。
(実装後の完成状態は同じです。)



購入したらまずは部品に欠品や
ピン数の不足がないか確認して下さい。



キット完成図


マトリックスLEDを取り外して撮影

コンデンサは寝かして配置します。


このキットはケーブルでカスケード接続することを前提として
準備されています。


ケーブルは別途購入して下さい。


下記例のようにユニバーサル基板等に接続したい場合は
L型ピンヘッダーを実装せずに
シングルインラインタイプのピンヘッダーを実装します


別の基板のソケットに接続して使用したい場合は
シングルインラインタイプのピンヘッダーを別途購入して下さい


奥がシングルインラインタイプのピンヘッダー実装
手前が標準仕様(L型ピンヘッダーを実装)


L型ピンヘッダーはS面で半田付けしますが
シングルインラインタイプのピンヘッダーはC面側で半田付けします



<制御キット実装手順>

電解コンデンサには極性があります
実装時には注意して下さい






最初に電解コンデンサを横に寝かせて取り付けた後、
半田付けします。



次にセラコンと抵抗をリードを曲げて取り付けます。
(半田付けは後です)
さらにMAX7219のICソケットを実装する準備をします。
ICソケットは切れ込みの位置を基板のシルクに合わせます。



ICソケットの切れ込みの位置が基板のシルクに合っているか確認後
ICソケットは対角線上の2点のリードを折り曲げて仮固定します。


ICソケットの曲げたリードを先に半田付けします。
ソケットが浮かないように確認しながら半田付けします
ここでソケットが浮いていないことをC面側で確認した後
ICソケットの他のリードを半田付けします。
また、抵抗、セラコンのリードをそれぞれ半田付けします。



さてここで重要な分岐点です
ケーブルでカスケード接続する場合は
L型ヘッダーを取り付けます(S面で半田付けします。)


他の基板のソケットとジョイントする場合は
インラインタイプのピンヘッダーを取り付けます。

(半田付けはC面になります。)

※なお残念ながらキットの入力用CNと出力用CNの間が
2.54mmの倍数のピッチとなっていません
標準的なユニバーサル基板と勘合させるためには
ソケットとヘッダーを
少し傾けて実装する必要があります。(後述)


ピッチが合わない対策としてベース基板を作成いたしました。
大阪メーカーズバザールでは600円で特価販売開始します。
Arduino Pro Mini版とWROOM-02版の2種類準備しました。

Arduino Pro Mini版に部品を装着したイメージ



次にIC(MAX7219)をICソケットに装着する準備をします。
ICのリードをソケットに装着できる角度に調整します。
下のような冶具があると便利です。



IC(MAX7219)をICソケットに装着します。



シングルライン8ピンソケットをマトリックスLEDに取り付けます。
このほうが基板に取り付けやすいと思います。



下の図のように基板をIC(MAX7219)が
左側となるように置き、
「1088AS」の文字が見える方向に
マトリックスLED+ソケットを基板に配置します。
向きに間違いがなければ
マトリックスLEDを基板に押さえながら
ソケットのピンを半田付けします。



S面側でマトリックスLED用ソケットの
半田付けを行えば完成です。




IC(MAX7219)のある側のコネクタ(L型ピンヘッダー)が入力側です。
Arduinoと接続します。
複数のキットをカスケード接続する場合は
LED側のコネクタと次段のキットの入力コネクタと接続します。



応用例として顔の表情を表現するための
Arduino Pro Mini と 3台のキットを接続させた
事例です。

点灯している状態(試作機で撮影)



LEDキットを外した状態で撮影(配線の例:試作機)



電源パターン付のユニバーサル基板(IC-301-74)
をベースに配線したのですが2点程問題が発生しました。
また複数個のキットを接続する場合は
電源容量に注意が必要ですの後で記載します


@写真下部のキット右下端とArduino Pro Miniが重なってしまう。
ソケットで高低差を付け段差で対応する方法もあるかと思いますが
今回はLEDキットの右下端をカットして対応しました。

A※残念ながらキットの入力用CNと出力用CNの間が
2.54mmの倍数のピッチとなっていません
標準的なユニバーサル基板と勘合させるためには
少し傾けて実装する必要があります。
IC-301-74のパターンと配線しやすさを考慮して
上部(目を表現する箇所のキット){下の写真では右側のキット}は
横から見るとハの字上に
下部(口と鼻を表現する箇所){下の写真では左側のキット}は
横から見ると逆ハの字上になるように組んでいます。
半田付けはユニバーサル基板(IC-301-74)と
ソケットとピンヘッダーとキットを組んだ状態で行いました。



この対策として基板を2種類作成いたしましたので
よろしければご利用下さい

Arduino Pro Mini版に部品を装着したイメージ



WROOM-02(ESP8266)版に部品(WROOM-02開発ボード等)を装着したイメージ


WROOM-02(ESP8266)版はWROOM-02変換基板フル版(スイッチサイエンス)も
装着可能です。コネクタの位置を換えて実装します。
ただしレギュレータと周辺コンデンサの実装が別途必要になります。


またローディング環境が別途必要になります。
ローディング環境と接続した事例




注意点(電流容量に関して)

Arduino Pro MiniへのローディングはPC保護の観点から
必ずArduino Pro Mini単体で行ってください。
(LEDキットから切り離した状態で行って下さい)
応用例の場合、基板上にArduinoを装着した状態で
ローディングしようとするとパソコンのUSBポートから
LEDキットへも電源を供給してしまい、
パソコンへダメージを与える可能性があります。


キット1個あたりの最大消費電流は330mA〜350mA(実測値)となります。
またパソコンのUSBポートの定格電流は基本的に500mAとなります。
顔を表現するための応用例の場合ではKitを3個使用していますので
Arduinoの消費電流を含めると
最大消費電流値は1000mA〜1200mAとなります。
消費電流値を十分考慮して電源を供給して使用して下さい。

パソコンのUSBポートは定格電流500mAとなります。
それ以上の電流を供給させようとすると
パソコンにダメージを与える可能性があります。
Kit 2個以上をパソコンのUSBポートから電源供給させた場合で、
かつKitのLEDを最大輝度で全て点灯させると
パソコン側の定格をこえてしまい、パソコンに
ダメージを与える可能性がありますので注意して下さい。

時間の短い長いによらずKitを2個以上を動作させる場合は
パソコンのUSBポートからの電源供給はさせないで下さい
電源供給は最大消費電流以上供給可能なバッテリー
またはACアダプタを使用して行って下さい。
100円均一などで販売されているAC-USB変換アダプタは
1Aの物が多いようです。
これでは3個最大輝度で点灯させようとすると
容量オーバーとなる可能性があります。
1.5A以上のものを推奨します。

その他 kit使用時は消費電流等安全上の注意点に十分注意いただき自己責任で使用して下さい。


ハードウエア(H/W)が完成したら
次はソフトウエア(S/W)となります。
昔はマトリックスLEDを制御するだけでも
大変だったと思いますが
ArduinoでMAX7219を制御する参考S/Wが公開されています。
文字広告のようなスライドさせる制御の参考S/Wもあるようです。
ただそのまま使用すると文字化けしてしまうものもあるようです


文字をスライドさせるS/Wではなく
顔や模様を表現したい方用には
顔の表情を生成する参考S/W(スケッチ)を作成しましたので
ダウンロードできる資料に含めておきます。
またこのS/WではLEDの点灯パターンを
二進数の和に換算する計算が必要です。
結構面倒だったので表現したい模様を描くと
そのパターンの二進数の和を算出し
点灯コマンドを生成するEXCELツールを
作成したのでこちらもダウンロードできる資料に
含めておきます。



MAX7219{マトリックスLED(8×8)}制御用資料をダウンロード

資料の内容

@kitを使用した応用例の接続事例
パターン付ユニバーサル基板を使用した配線例

AExcelツール
LED点灯パターンをソースに変換する補助ツール

B応用例制御用スケッチ(Arduino用のS/W)
アナログ入力1本の電圧レベルにより
顔の表情を3パターンに変化させる。

C展示専用Demoスケッチ(Arduino用のS/W)


DMAX7219データシート

ダウンロード後解凍が必要となりますので
解凍ソフトは各自準備下さい。


IDEで「ファイル」⇒「新規作成」⇒一旦全部消去した後
下記からダウンロードしたテキストファイル内の
Ekao006(***用ソース)DEMO.txt(参考スケッチ)をすべてコピペし
ArduinoやESP8266に書き込んで下さい。
デモソフトが動きだせばハードはOKです。

次にkaoBASE(***用ソース).txtも同様にローディングします。
今度は設定されている状態を表示します。(静止画状態)
ソースの指定箇所をExcelツールで作成したソースに差し換えて
表示内容が変わるか確認して下さい。
ここまでできれば、後は
Excelツールで作成したソースを
「delay(??);」を間に挟んでつないでいくだけです。
※「??」(ウエイト時間)は任意に調整して下さい。





また初めてArduinoを使用する方は以下のページも参考にして下さい

Arduino IDE をまだインストールしていない方
Arduino IDE ダウンロード〜インストールまで

Arduino IDE Aruduino ProMiniボード選択とCOMポート設定
Arduino IDE Aruduino ProMini用初期設定方法

Arduino Pro Miniで不揮発メモリの容量不足が
発生したらこちらを検討下さい。
ESP-8266の使用を検討下さい。
Wifi機能が使用できるだけでなく
約10倍の不揮発メモリを使用できます。
初期設定は下記を参照下さい。 参考資料にはArduino ProMini用とESP-8266用を用意しております。を
Arduino IDE ESP8266用初期設定方法


参考資料
MAX7219{マトリックスLED(8×8)}制御用資料をダウンロード

ESP8266で遠隔制御






CADの部屋  ダウンロードページへ
測定器の部屋  シュミレーションの部屋
 北摂ものづくり研究所TOP



(最終更新 2017-08-20)