e-tipsmemo

ごった煮

Seeed Studio XIAO nRF52840 Sense を試す(1)

なんかBLEで作りたいものが出てきたので、マイコンを探した。

BLEとSerial通信しか使わない予定なのでこれがよい。
また、6軸IMU、マイクも載っている様子。

昔はBLEモジュールとったものをマイコンとは別に用意する必要があったが最近は、なんでもかんでもSoC ?になっている。
それとも缶パッケージのなかに複数チップあるのだろうか?

準備

Arduinoを使用するのははるか昔にArduino Duemilanoveを使った以来で、IDEもパッとしない感じのイメージがあった。それはArduino IDE 1.x.xがそれに当たる。

なので、VScodeで開発しようと奮闘したが、VScode経由のArduino CLIでBoard Managerがうまく動いてくれなかったのであきらめた。

現在最新のIDEは、Arduino 2.x.xとなっており、GUIの見た目も操作性も多少まともになっている。

Board Manager

[File]→[Preference]から
以下のURLを追加する。
https://files.seeedstudio.com/arduino/package_seeeduino_boards_index.json

Board Managerから

「Seeed」を検索して、「Seeed nRF52 mbed-enabled Boards」をインストール。
(こちらだけでいい気がする)

Hello World

[File]→[Example]→[Basic]→[Blink]を書いてみる。

void setup() {
  // initialize digital pin LED_BUILTIN as an output.
  pinMode(LED_RED, OUTPUT);
}
// the loop function runs over and over again forever
void loop() {
  digitalWrite(LED_RED, HIGH);  // turn the LED on (HIGH is the voltage level)
  delay(1000);                      // wait for a second
  digitalWrite(LED_RED, LOW);   // turn the LED off by making the voltage LOW
  delay(1000);                      // wait for a second
}

LED_RED、LED_GREEN、LED_BLUEが定義ずみなので、使用できる。

書き込み

USBを差し込むと、COMポートが出現する。
画像のように、ボード選択で太文字の表示になっていると書き込みが可能になる。

もしそうでなければ、ボード上、USB-Cのとなりにある小さいリセットスイッチを二回押すことで書き込み待機状態にできる。

SimpleSerialShell

BLEを使う前に、プログラム修正→書き込みを繰り返すのは面倒。
組み込みマイコン内部で動くShellの実装はいろいろあるらしいが、メンテされていなかったりする。

  • NTshell (日本で有名っぽい。かなり軽量、Arduinoライブラリに入っていなかった)
  • SimpleShell (2020が最後のコミット)
  • SimpleShell Enhanced (SimpleShellのForkだったが、うまく動かなかった)
  • SimpleSerialShell (これを使用した)



Arduino_Builtlnを入れないとうまく動かなったような気もする。

[File]→[Example]→[SimpleSerialShell]→[AdjustableBlink]を試す。

ちゃんと動いている様子。