LEDの全点灯 – 配列を使ったプログラム例
プログラム例 6-3
#include <Arduino.h> // Arduino.h の読み込み
// ドットマトリクスLEDアノード側ピンの配列
int ledAnodePins[8] = {0, 2, 4, 5, 16, 17, 18, 19};
// ドットマトリクスLEDカソード側ピンの配列
int ledCathodePins[8] = {21, 22, 23, 25, 26, 27, 32, 33};
/*
* setup 関数
*/
void setup() {
/* ここにプログラムの最初に1回だけ実行したい処理を上から順に記述していきます */
// シリアル通信を115200bpsで開始
Serial.begin(115200);
Serial.println("初期設定の開始");
// 各アノード・カソード端子の設定
for(int i=0; i<8; i++) {
// 入出力設定
pinMode(ledAnodePins[i], OUTPUT);
pinMode(ledCathodePins[i], OUTPUT);
// 出力レベル設定
digitalWrite(ledAnodePins[i], HIGH);
digitalWrite(ledCathodePins[i], HIGH);
}
Serial.println("初期設定の完了");
}
/*
* loop 関数
*/
void loop() {
/* ここにプログラム中で繰り返し実行したい処理を上から順に記述していきます */
// 1 ~ 8 行目まで点灯行変更
for(int i=0; i<8; i++) {
// i行目を点灯
digitalWrite(ledCathodePins[i], LOW);
// 時間待ち
delay(1);
// i行目を消灯
digitalWrite(ledCathodePins[i], HIGH);
}
}
Code language: Arduino (arduino)
すっきりとしたコードになりましたね。