Seeeduino XIAO (Arduino IDE) を使ってみる

読み方ですが、シーデュイーノ シャオと読むようです。
この製品は、Seeeduinoシリーズ最小のArduino互換ボード で、
Arduino IDEと完全に互換性があるとのことです。
 https://wiki.seeedstudio.com/Seeeduino-XIAO/

SeeeduinoXIAO
SeeeduinoXIAO

また、このSeeeduinoXIAOは、
CircuitPythonを使用することもできます。
 https://wiki.seeedstudio.com/Seeeduino-XIAO-CircuitPython/

Arduino UNO、Arduino NANO と並べてみました。
ともかく小さいですね。
PCとの接続のUSBケーブルはのUSBコネクタはType-Cです。

Arduino UNO、Arduino NANO との比較
Arduino UNO、Arduino NANO との比較

価格は、¥600-前後で販売されています。
この製品は、大陸でも通販入手できますが価格は同じ程度です。
製品の価格と信頼を考えれば、国内入手が無難なようです。
 ・秋月電子通商 (¥580-)
   https://akizukidenshi.com/catalog/g/gM-15178/
 ・スイッチサイエンス (¥682-)
   https://www.switch-science.com/catalog/6335/
 ・マルツオンライン (¥739-)
   https://www.marutsu.co.jp/pc/i/1631560/

SeeeduinoXIAO の仕様抜粋です。

CPU48 MHzまで実行するARM Cortex - M 0 + CPU ( SAMD 21 G 18 )
フラッシュメモリ256KB
SRAM32KB
- - - - - - - - - - - - - - - - - - - -
GPIO PIN14
デジタルインターフェイス11
モックインターフェイス11
PWMインターフェイス10
I2Cインターフェイス1
SPIインターフェイス1
UARTインターフェイス1
- - - - - - - - - - - - - - - - - - - -
Type-Cインターフェイス(電源供給、コードのダウンロード)
LED:電源、L、RX、TX
Seeeduino XIAO仕様抜粋

詳しくは、“Seeeduino Xiao”のページで確認できます。

開発環境は、
Arduino IDEで、Arduino言語で開発できるほか、
CircuitPythonをインストールして動作させることもできます。
Raspberry PI などでPython言語を利用している方には良いですね。
これらの切替方法も、
“SeeeduinoXIAO上のCircuitPython”のページで詳しく解説されています。
 https://wiki.seeedstudio.com/Seeeduino-XIAO-CircuitPython/

今回は、Arduino IDEでの開発環境の設定を行います。
この設定も、“Seeeduino XIAO”のページで解説されていますが、
私も設定してみましたので書き残しておきます。

”Seeeduino XIAO” ページ で紹介されている、
 https://wiki.seeedstudio.com/Seeeduino-XIAO/
Seeeduino Xiao 本体のLEDを点滅させるサンプルスケッチに、
D10番ピンにLEDを設置して、本体のLEDと交互に
点滅するものに少し変更してみます。
・・・ほとんど代わり映えはしませんが。

LEDと抵抗、Seeeduino Xiaoとの接続です。
回路は図の通りです。
   この回路図の作図には fritzing を利用させて頂いております。
   https://fritzing.org/home/

   ※D10番端子の出力電圧は、3.3Vです。
    これを考慮した抵抗をLEDに接続して下さい。 
    (私の場合は、いつもの330Ωを使用しました)
    (今までこの抵抗の入れ忘れで何個LEDを駄目にしたことか)

では、Arduino IDE の環境設定です。
私の場合は、Arduino IDE はPCにインストール済みですから、
その続きから記載します。
※Arduino IDEの環境設定は、”Arduinoの準備”に掲載しています。
 https://shinog.jp/computer/arduino/arduino%e3%81%ae%e6%ba%96%e5%82%99/

1.サンプルスケッチを開きます。
 メニュー「ファイル」→「スケッチ例」→「01.Basic」→「Blink」

スケッチ例の選択
スケッチ例の選択

2.Arduino IDEにSeeeduino追加を追加します。
 メニュー「ファイル」→「環境設定」

Seeeduino追加1
Seeeduino追加1

 開いた環境設定ダイアログの、
 ”追加のボードマネージャのURL”欄に、
 ” https://files.seeedstudio.com/arduino/package_seeeduino_boards_index.json”
 と入力し、"OK"をクリックします。

Seeeduino追加2
Seeeduino追加2

3.Seeeduino XIAO用のライブラリを追加します。
 メニュー「ツール」→「ボード:xxxx」→「ボードマネージャ…」

ボードの追加設定1
ボードの追加設定1

 開いたボードマネージャダイアログの検索欄に、
 ”Seeeduino XIAO”
 と入力し、
 表示された一覧より、”Seeed SAMD Boards”を選択し、
 ”インストール”をクリックします。
 ダウンロードが終了したら、”閉じる”をクリックします。
 ※この作業の時には、インターネットへの接続が必要です。

ボードの追加設定2
ボードの追加設定2
ボードの追加設定3
ボードの追加設定3
ボードの追加設定4
ボードの追加設定4

4.ボードを ”Seeeduino XIAO”に設定します。
 メニュー「ツール」→「ボード:xxxx」
  →「Seed SAMD(32-bit ARM Cortex-M0+ and Cortex-M4) Boards」
   →「Seeeduino XIAO」を選択します。

ボードの選択
ボードの選択

5.シリアルポートを設定します。
 ポート番号(名)を確認するため、Seeeduino XIAOを
 USBケーブルで、PCと接続します。
 Windowsメニュー「スタート」を右クリック→デバイスマネージャー(M)を
 選択し、デバイスナネージャー画面を開き、
 ポート(COMとLPT)項目を確認します。
 私の場合は、
 ”USBシリアルデバイス(COM6)” 
 で、”COM6”でした。

デバイスナネージャー画面
デバイスナネージャー画面

 確認ができたら、
 メニュー「ツール」→「シリアルポート」→から、
 デバイスマネージャー画面で確認したポート番号(名)を選択します。  
私の場合、
 メニュー「ツール」→「シリアルポート」→「COM6 (Seeeduino XIAO)」
 となります。

シリアルポートの設定
シリアルポートの設定
ボード、シリアルポートの設定確認
ボード、シリアルポートの設定確認

これで設定は完了です。

では、このサンプルスケッチを実行してみます。
先ず検証します。

検証
検証

サンプルのままで、変更もしていませんので問題なく検証できますね。
続いてマイコンボードへ書き込みます。

マイコンボードへ書き込み
マイコンボードへ書き込み

Seeeduino XIAO本体のオレンジのLEDが点滅していれば成功です。

実行確認
実行確認

では、追加したLEDも点滅させてみます。
スケッチの変更です。

/*
  Blink

  Turns an LED on for one second, then off for one second, repeatedly.

  Most Arduinos have an on-board LED you can control. On the UNO, MEGA and ZERO
  ~ 略 ~
  This example code is in the public domain.

  http://www.arduino.cc/en/Tutorial/Blink
*/

// 追加LED用デジタルピン設定(D10ピン)
int LED1_PIN = 10;

// the setup function runs once when you press reset or power the board
void setup() {
  // initialize digital pin LED_BUILTIN as an output.
  pinMode(LED_BUILTIN, OUTPUT);
  // 追加LED用ピンモード設定(出力)
  pinMode(LED1_PIN, OUTPUT);
}

// the loop function runs over and over again forever
void loop() {
  digitalWrite(LED_BUILTIN, HIGH);   // turn the LED on (HIGH is the voltage level)(消灯)
  digitalWrite(LED1_PIN, HIGH);        // 点灯
  delay(1000);                               // wait for a second
  digitalWrite(LED_BUILTIN, LOW);    // turn the LED off by making the voltage LOW(点灯)
  digitalWrite(LED1_PIN, LOW);         // 消灯
  delay(1000);                               // wait for a second
}

では、検証し,マイコンボードへ書き込みます。

検証
検証
マイコンボードへ書き込み
マイコンボードへ書き込み

Seeeduino XIAO本体のオレンジのLEDと、
追加したLEDが交互に点滅していれば成功です。

実行確認
実行確認

Arduino IDE を終了する時、このスケッチの保存を確認されます。
保存する場合、サンプルスケッチは基本、修正保存はできませんので、
別の名前を付けて保存します。

変更したサンプル例の保存1
変更したサンプル例の保存1
変更したサンプル例の保存2
変更したサンプル例の保存2
変更したサンプル例の保存3
変更したサンプル例の保存3

Seeeduino XIAO をほんの少し使ってみました。
Arduino IDE での開発なので、代わり映えはしませんが、
いろいろなマイコンが、同じ開発環境で利用できる事は
技量のない私にとっては大変ありがたいことです。