Arduino 資料一覧
8x8マトリクスLED(OSL641505-BRA)をダイナミック点灯により点灯する
2017/05/05更新
対応バージョン: Arduino IDE 1.8.2
Arduino Unoにつないだ8x8マトリクスLED(OSL641505-BRA)をダイナミック点灯により点灯する。
赤色ドットマトリクスLED 8x8ドット OSL641505-BRA (秋月電子通商)
Arduino IDEを動かす母艦はUbuntu 16.04とする。
結線
結線は以下の通り。ここで使用しているOSL641505-BRAはアノードコモンなのでカソードコモンのOSL641505-ARAとの違いに注意する。
ソース
以下のようなコードを書き実行する。ここではハートのパターンを表示してみる。
led_matrix.ino
// OSL641505-BRA // // --- pin番号 --- // 16 .. 9 // +--------+ // | | // | | // +--------+ // 1 .. 8 // // --- ROW(行)/COL(列) : pin番号 -> Arduino接続先 --- // ROW(行) // 1 : pin 9 -> Arduino digital 2 // 2 : pin14 -> Arduino digital 3 // 3 : pin 8 -> Arduino digital 4 // 4 : pin12 -> Arduino digital 5 // 5 : pin 1 -> Arduino didital 6 // 6 : pin 7 -> Arduino digital 7 // 7 : pin 2 -> Arduino digital 8 // 8 : pin 5 -> Arduino digital 9 // // COL(列) // 1 : pin13 -> Arduino digital 10 // 2 : pin 3 -> Arduino digital 11 // 3 : pin 4 -> Arduino digital 12 // 4 : pin10 -> Arduino digital 13 // 5 : pin 6 -> Arduino analog A0(14相当) // 6 : pin11 -> Arduino analog A1(15相当) // 7 : pin15 -> Arduino analog A2(16相当) // 8 : pin16 -> Arduino analog A3(17相当) // 出力パターン // * OSL641505-BxはOSL641505-Axと異なりアノードとカソードが逆なので // プログラム中で1と0を反転させる boolean matrix[8][8] = { {0,0,0,0,0,0,0,0}, {0,1,1,0,0,1,1,0}, {1,1,1,1,1,1,1,1}, {1,1,1,1,1,1,1,1}, {1,1,1,1,1,1,1,1}, {0,1,1,1,1,1,1,0}, {0,0,1,1,1,1,0,0}, {0,0,0,1,1,0,0,0} }; void setup(){ // 2~17ピン出力設定 for(int i = 2; i <= 17; i++) { pinMode(i, OUTPUT); digitalWrite(i, LOW); } } void loop(){ // 点灯/消灯スイッチ int onoff; // 行ループ(2~9ピン) for(int row = 2 ; row <= 9 ; row++) { // 対象行を点灯対象に digitalWrite(row, HIGH); // 列ループ(10~17ピン) for(int col = 10 ; col <= 17 ; col++){ // 対象列の点灯(0)/消灯(1)を決定 // 出力パターンと点灯/消灯の指示が逆転しているので反転(1 - パターン) int onoff = 1 - matrix[row - 2][col - 10]; // 対象列を点灯/消灯 digitalWrite(col, onoff); // 待機 delayMicroseconds(200); // 対象列を消灯 digitalWrite(col, HIGH); } // 対象行を消灯 digitalWrite(row, LOW); } }
関連資料・記事
参考サイト
Arduino (Wikipedia)
Arduino技術情報 (Qiita)
Arduino関連情報 (Device Plus)
Arduino記事一覧 (Think IT)
エレクトロニクス豆知識 (ROHM)