Seeeduino XIAO (Arduino IDE) を使ってみる
読み方ですが、シーデュイーノ シャオと読むようです。
この製品は、Seeeduinoシリーズ最小のArduino互換ボード で、
Arduino IDEと完全に互換性があるとのことです。
https://wiki.seeedstudio.com/Seeeduino-XIAO/
また、このSeeeduinoXIAOは、
CircuitPythonを使用することもできます。
https://wiki.seeedstudio.com/Seeeduino-XIAO-CircuitPython/
Arduino UNO、Arduino NANO と並べてみました。
ともかく小さいですね。
PCとの接続のUSBケーブルはのUSBコネクタはType-Cです。
価格は、¥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 の仕様抜粋です。
CPU | 48 MHzまで実行するARM Cortex - M 0 + CPU ( SAMD 21 G 18 ) |
フラッシュメモリ | 256KB |
SRAM | 32KB |
- - - - - - - - - - - - - - - - - - - - | |
GPIO PIN | 14 |
デジタルインターフェイス | 11 |
モックインターフェイス | 11 |
PWMインターフェイス | 10 |
I2Cインターフェイス | 1 |
SPIインターフェイス | 1 |
UARTインターフェイス | 1 |
- - - - - - - - - - - - - - - - - - - - | |
Type-Cインターフェイス(電源供給、コードのダウンロード) | |
LED:電源、L、RX、TX |
詳しくは、“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追加を追加します。
メニュー「ファイル」→「環境設定」
開いた環境設定ダイアログの、
”追加のボードマネージャのURL”欄に、
” https://files.seeedstudio.com/arduino/package_seeeduino_boards_index.json”
と入力し、"OK"をクリックします。
3.Seeeduino XIAO用のライブラリを追加します。
メニュー「ツール」→「ボード:xxxx」→「ボードマネージャ…」
開いたボードマネージャダイアログの検索欄に、
”Seeeduino XIAO”
と入力し、
表示された一覧より、”Seeed SAMD Boards”を選択し、
”インストール”をクリックします。
ダウンロードが終了したら、”閉じる”をクリックします。
※この作業の時には、インターネットへの接続が必要です。
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 を終了する時、このスケッチの保存を確認されます。
保存する場合、サンプルスケッチは基本、修正保存はできませんので、
別の名前を付けて保存します。
Seeeduino XIAO をほんの少し使ってみました。
Arduino IDE での開発なので、代わり映えはしませんが、
いろいろなマイコンが、同じ開発環境で利用できる事は
技量のない私にとっては大変ありがたいことです。