LEDの全点灯 – プログラム例1

main.cpp 06-1

#include <Arduino.h> // Arduino.h の読み込み

// ドットマトリクスLEDのアノードピンおよびカソードピン
int a0 = 0;
int a1 = 2;
int a2 = 4;
int a3 = 5;
int a4 = 16;
int a5 = 17;
int a6 = 18;
int a7 = 19;
int c0 = 21;
int c1 = 22;
int c2 = 23;
int c3 = 25;
int c4 = 26;
int c5 = 27;
int c6 = 32;
int c7 = 33;

/*
 * setup 関数
 */
void setup() {
  /* ここにプログラムの最初に1回だけ実行したい処理を上から順に記述していきます */

  // シリアル通信を115200bpsで開始
  Serial.begin(115200);

  Serial.println("初期設定の開始");

  // 入出力設定(アノード)
  pinMode(a0, OUTPUT);
  pinMode(a1, OUTPUT);
  pinMode(a2, OUTPUT);
  pinMode(a3, OUTPUT);
  pinMode(a4, OUTPUT);
  pinMode(a5, OUTPUT);
  pinMode(a6, OUTPUT);
  pinMode(a7, OUTPUT);
Code language: Arduino (arduino)
  // 入出力設定(カソード)
  pinMode(c0, OUTPUT);
  pinMode(c1, OUTPUT);
  pinMode(c2, OUTPUT);
  pinMode(c3, OUTPUT);
  pinMode(c4, OUTPUT);
  pinMode(c5, OUTPUT);
  pinMode(c6, OUTPUT);
  pinMode(c7, OUTPUT);

  // 出力レベル設定(アノード)
  digitalWrite(a0, HIGH);
  digitalWrite(a1, HIGH);
  digitalWrite(a2, HIGH);
  digitalWrite(a3, HIGH);
  digitalWrite(a4, HIGH);
  digitalWrite(a5, HIGH);
  digitalWrite(a6, HIGH);
  digitalWrite(a7, HIGH);
  // 出力レベル設定(カソード)
  digitalWrite(c0, LOW);
  digitalWrite(c1, LOW);
  digitalWrite(c2, LOW);
  digitalWrite(c3, LOW);
  digitalWrite(c4, LOW);
  digitalWrite(c5, LOW);
  digitalWrite(c6, LOW);
  digitalWrite(c7, LOW);

  Serial.println("初期設定の完了");
}

/*
 * loop 関数
 */
void loop() {
  /* ここにプログラム中で繰り返し実行したい処理を上から順に記述していきます */

  delay(1); // 時間待ち
}
Code language: Arduino (arduino)

以上のプログラム例では、loop関数中に STEP05 で触れた時間待ちを入れています。

全てのLEDを点灯させることができましたか?

前の記事

LEDの全点灯 – 課題1

次の記事

ダイナミック点灯