Hobbuy Blog
趣味と購入のブログ

11.Arduino Nano R4が届いたのでLチカする - 2026.3.15

お久しぶりです.
またもや長い期間が空いてしまいましたが,研究は着々と進んでいます.
試作1号機の基板と部品の発注を終え,それらが手元にある状態です.
ということでまずArduino Nano R4について備忘録を残しておこうと思います.

まず,最初に動作確認で行うことで有名なLチカですが,まず今までとは違うところに引っかかりました.
Nano R4のデータシートを見れば書いてあることなのですが,内蔵LEDのピンが変更になっています.
今まではD13ピンがLと記された内蔵LEDに接続されていました.
またこれが伝統とされてきましたし,Uno R4 Minimaでも同様にD13に接続されていました.
ですがNano R4ではLED_BUILTINという名称の独立ピンに変更されています.
初回の書き込み時にLチカが動作しなくて普通に焦りました.
ですからLチカスケッチは以下のようになります.

/* このスケッチはArduino Nano R4用のLチカスケッチです */
void setup () {
  // セットアップなし
}

void loop () {
  digitalWrite(LED_BUILTIN, HIGH);
  delay(1000);
  digitalWrite(LED_BUILTIN, LOW);
  delay(1000);
}

ちょっと面倒くさいなというのが正直な感想です.

また,Nano R4にはオンボードRGB LEDがあるのですがこいつも少しクセがあります.
同じくデータシートを見てみると赤,緑,青の順にLEDRLEDGLEDBとピン名が振られていることが分かります.
ただし先ほどのLED_BUILTINと違って,出力モード固定ではありませんから,pinMode()関数で出力モードを指定してやる必要があります.
そしてアクティブLOWという仕様のため,ピンのHIGH/LOWは直感とは逆になります.
つまりdigitalWrite(LEDR, LOW);としたときにLEDR(赤)は点灯するわけです.
これを踏まえて,オンボードRGB LEDを赤→黄→緑→水→青→紫→白→消灯の順で光らせるコードは以下のようになります.

ここをクリックして開く
/* このスケッチはArduino Nano R4用のオンボードRGB LED点灯スケッチです */

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(LEDG, LOW);
  delay(1000);

  // 緑色
  digitalWrite(LEDR, HIGH);
  delay(1000);

  // 水色
  digitalWrite(LEDB, LOW);
  delay(1000);

  // 青色
  digitalWrite(LEDG, HIGH);
  delay(1000);

  // 紫色
  digitalWrite(LEDR, LOW);
  delay(1000);

  // 白色
  digitalWrite(LEDG, LOW);
  delay(1000);

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

このような感じでRGB LEDを駆動することができました.

ということでここまでArduino Nano R4を軽く触れてきましたが,今までの文化が通じないなと感じる部分がありました.
ただし,従来通りC/C++ベースのArduino言語でスケッチを作成することに変わりはありません.
オンボードの構成要素以外は大体今まで通りに扱える印象です.
あとはやはり,フットプリントの小ささは魅力的なのです.
最も長い部分で測っても50 mmに満たない小ささです.
それでいて30ピンもの端子(うちGPIOが22本)を引き出しているのは最早狂気としか言えないでしょう.

たしかにRaspberry Pi Picoシリーズは強力な小型マイコンボードです.
それに対して効率が悪く動作周波数も遅かったAVRマイコン搭載Arduino Nanoシリーズは見劣りするのは言うまでもありません.
しかしNano R4ではARMマイコンです.Pico(初代)の133 MHzには及びませんが動作周波数も48 MHzと高くなっています.
何よりADC分解能がPicoは12 bitに対してNano R4は14 bitです.
そんなこの研究にもってこいのデバイスを見つけたわけですし,この先も研究を頑張っていこうと思います.

← 前回:放射線計測器の試作機1号を発注
次回:試作機2号のデータを作成 →

←目次へ戻る ←メインページに戻る