4×4の自作LEDマトリクスを光らせるために配線します。
アノード側とカソード側それぞれ4本ずつの8本の制御線が必要です。
M5Stackに付属のコードが色分けされていてよい感じなのでこれを使います。
LEDマトリクスとM5Stackの配線は次のようにしました。
電流制限抵抗はカソード側につけて、その先をM5Stackにつなぎます。
ピンのつなぎ方は下の通りです。
A | B | C | D | a | b | c | d |
5 | 12 | 17 | 16 | 18 | 19 | 23 | 22 |
次に点灯させるためのスケッチを書きます。
こちらのサイトを参考にさせてもらいました。
https://www.hiramine.com/physicalcomputing/arduino/matrixled.html
ピン番号がちがうだけでほぼそのままですね。
アノード側をLOW、カソード側をHIGHで初期化しておくのがポイントです。
#include <M5Stack.h> // ピン番号の定義 int a_pin[4] = { 5, 2, 17, 16 }; int c_pin[4] = { 18, 19, 23, 22 }; void setup() { // アノード側の初期化 for(int lp1 = 0; lp1 < 4; lp1++) { pinMode(a_pin[lp1], OUTPUT); digitalWrite(a_pin[lp1], LOW); } // カソード側の初期化 for(int lp1 = 0; lp1 < 4; lp1++) { pinMode(c_pin[lp1], OUTPUT); digitalWrite(c_pin[lp1], HIGH); } } // static点灯 void loop() { // アノードのループ for( int ano = 0; ano < 4; ano++ ) { digitalWrite( a_pin[ano], HIGH ); // カソードのループ for( int cat = 0; cat < 4; cat++ ) { digitalWrite( c_pin[cat], LOW ); delay(100); //点灯時間 digitalWrite( c_pin[cat], HIGH ); } digitalWrite( a_pin[ano], LOW ); } }
動作テストのために順番に点灯させます。
#M5Stack で自作のLEDマトリクスの点灯実験。3mm球の4×4でとてもコンパクト。配線もシンプルです。
— iikagenlabo (@IikagenLabo) 2019年5月26日
しかし見えなくて半田付けが辛かった・・。 pic.twitter.com/9NZUYLubCR
完成。