LEDの点滅 – プログラム例3
それでは、プログラムを変数を使ったものに書き換えてみましょう。
main.cpp 05-3
#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);
// 入出力設定(カソード)
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, LOW);
digitalWrite(a1, LOW);
digitalWrite(a2, LOW);
digitalWrite(a3, LOW);
digitalWrite(a4, LOW);
digitalWrite(a5, LOW);
digitalWrite(a6, LOW);
digitalWrite(a7, LOW);
// 出力レベル設定(カソード)
digitalWrite(c0, LOW);
digitalWrite(c1, HIGH);
digitalWrite(c2, HIGH);
digitalWrite(c3, HIGH);
digitalWrite(c4, HIGH);
digitalWrite(c5, HIGH);
digitalWrite(c6, HIGH);
digitalWrite(c7, HIGH);
Serial.println("初期設定の完了");
}
/*
* loop 関数
*/
void loop() {
/* ここにプログラム中で繰り返し実行したい処理を上から順に記述していきます */
digitalWrite(a0, HIGH); // LEDを点灯
delay(1000); // 待ち時間
digitalWrite(a0, LOW); // LEDを消灯
delay(1000); // 待ち時間
}
Code language: Arduino (arduino)
ドットマトリクスLEDの点滅は、想定どおりになりましたか?