LEDの点滅 – プログラム例1

次の解答例では、ドットマトリクスLEDのカソード側を固定にしてアノード側を変化させています。

main.cpp 05-1

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

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

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

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

  // 入出力設定(アノード)
  pinMode(0, OUTPUT);
  pinMode(2, OUTPUT);
  pinMode(4, OUTPUT);
  pinMode(5, OUTPUT);
  pinMode(16, OUTPUT);
  pinMode(17, OUTPUT);
  pinMode(18, OUTPUT);
  pinMode(19, OUTPUT);
  // 入出力設定(カソード)
  pinMode(21, OUTPUT);
  pinMode(22, OUTPUT);
  pinMode(23, OUTPUT);
  pinMode(25, OUTPUT);
  pinMode(26, OUTPUT);
  pinMode(27, OUTPUT);
  pinMode(32, OUTPUT);
  pinMode(33, OUTPUT);

  // 出力レベル設定(アノード)
  digitalWrite(0, LOW);
  digitalWrite(2, LOW);
  digitalWrite(4, LOW);
  digitalWrite(5, LOW);
  digitalWrite(16, LOW);
  digitalWrite(17, LOW);
  digitalWrite(18, LOW);
  digitalWrite(19, LOW);
  // 出力レベル設定(カソード)
  digitalWrite(21, LOW);
  digitalWrite(22, HIGH);
  digitalWrite(23, HIGH);
  digitalWrite(25, HIGH);
  digitalWrite(26, HIGH);
  digitalWrite(27, HIGH);
  digitalWrite(32, HIGH);
  digitalWrite(33, HIGH);

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

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

  digitalWrite(0, HIGH); // LEDを点灯
  digitalWrite(0, LOW);  // LEDを消灯
}
Code language: Arduino (arduino)

さて、ドットマトリクスLEDは点滅しましたか?

ドットマトリクスLEDは薄く点灯しているだけのように見えたと思います。なぜでしょうか?

前の記事

トピック

次の記事

動作クロックと待ち時間