ソースに絡まるエスカルゴ

貧弱プログラマの外部記憶装置です。

【Arduino】Seeed Studio XIAO nRF52840のボード上のLEDについて

 以前の記事でとりあえず環境構築をしてサンプルのLチカまでをやってみましたが、Getting Startedのページをよく読むとボード上のLEDは多色LEDになっておりRGBで制御できると書いてありました。

 なので今回はSeeed Studio XIAO nRF52840ボード上のLEDの制御についての記事になります。


 では、始めます。


1:ボード上のLEDの制御方法
 ボード上のピン定義としては以下の3種類があります。

LED色 ピン定義
LED_BUILTIN または LEDR
LEDG
LEDB

 つまり赤色にしたい場合は「LED_BUILTIN」または「LEDR」のピン、緑色にしたい場合は「LEDG」のピン、青色にしたい場合は「LEDB」のピンを使うということになります。
 点灯する場合は該当ピンを「LOW」に、消灯する場合は「HIGH」にします。また同時に複数の色を点灯させて合わせた色として光らせることもできます。

 まとめると以下のような記述になります。

// ピンの出力設定
pinMode(LEDR, OUTPUT); // 赤色(LED_BUILTINでもOK)
pinMode(LEDG, OUTPUT); // 緑色
pinMode(LEDB, OUTPUT); // 青色

// 出力方法
digitalWrite(LEDR, LOW);  // 点灯
digitalWrite(LEDR, HIGH); // 消灯


2:LEDサンプル
 LEDの制御方法がわかったので実際に光らせるサンプルを実行させてみます。

・SeeedStudioXiaoBLE_LEDTest.ino

/**
 * SeeedStudioXiaoBLE_LEDTest
 */
void setup() {
  pinMode(LEDR, OUTPUT);
  pinMode(LEDG, OUTPUT);
  pinMode(LEDB, OUTPUT);

  // 初期化として全部消灯
  digitalWrite(LEDR, HIGH);
  digitalWrite(LEDG, HIGH);
  digitalWrite(LEDB, HIGH);
}


void loop() {
  digitalWrite(LEDR, LOW);  // 赤
  delay(1000);
  digitalWrite(LEDR, HIGH); // 消灯
  delay(1000);
  digitalWrite(LEDG, LOW);  // 緑
  delay(1000);
  digitalWrite(LEDG, HIGH); // 消灯
  delay(1000);
  digitalWrite(LEDB, LOW);  // 青
  delay(1000);
  digitalWrite(LEDB, HIGH); // 消灯
  delay(1000);

  // 黄色
  digitalWrite(LEDR, LOW);
  digitalWrite(LEDG, LOW);
  delay(1000);
  digitalWrite(LEDR, HIGH); // 消灯
  digitalWrite(LEDG, HIGH); // 消灯
  delay(1000);

  // 紫色
  digitalWrite(LEDR, LOW);
  digitalWrite(LEDB, LOW);
  delay(1000);
  digitalWrite(LEDR, HIGH); // 消灯
  digitalWrite(LEDB, HIGH); // 消灯
  delay(1000);

  // 水色
  digitalWrite(LEDG, LOW);
  digitalWrite(LEDB, LOW);
  delay(1000);
  digitalWrite(LEDG, HIGH); // 消灯
  digitalWrite(LEDB, HIGH);
  delay(1000);

  // 白色
  digitalWrite(LEDR, LOW);
  digitalWrite(LEDG, LOW);
  digitalWrite(LEDB, LOW);
  delay(1000);
  digitalWrite(LEDR, HIGH); // 消灯
  digitalWrite(LEDG, HIGH); // 消灯
  digitalWrite(LEDB, HIGH); // 消灯
  delay(1000);
}

 上記のスケッチを書き込むとそれぞれの色が1秒毎に点灯/消灯で切り替わります。白色などはあまり白くは見えませんが、光の三原色を混ぜると白なので一応白ということにしています。


 以上がSeeed Studio XIAO nRF52840のボード上のLED制御についてです。

 一つのLEDで多色を表現できるので、ステータスなどを確認したりするのに使ったりすると良さそうです。


・参考資料