Arduino資料一覧

8x8マトリクスLED(OSL641505-BRA)をダイナミック点灯により点灯する

2017/05/05更新

対応バージョン: Arduino IDE 1.8.2

Arduino Unoにつないだ8x8マトリクスLED(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);
  }
}

関連資料・記事

参考サイト