最終更新日 2022年3月11日
先日秋月でSeeedXIAORP2040を購入しました。RaspberryPiPicoとの比較がしたかったからです。
SeeedXIAORP2040の商品欄には専用の拡張ボード及びアクリスカバー/ケースそしてM5Stackのセンサモジュールが掲載されており合わせて購入した次第です。
SeeedXIAORP2040を組み立てて、早速Arduino環境からプログラミングしようと思ったのですが安易には実現出来ませんでした。備忘録を残しておこうと思いました。最初のトラブル
- 馬鹿げたトラブルですが、ケースの組立を行う際、説明書が添付されていませんので適当に組み立ててしまいましたがスペーサの長い方と短い方の扱いを逆にしてしまいました。
- RTC用の電池CR1120用のホルダがあります。が組み立ててから電池を挿入するのはとても困難です。
- XIAOはType-Cのコネクタです。RaspberryPiPicoはMicroUSBですし、BluePillもMicroUSBです。Type-Cのケーブルはモバイルバッテリの充電用ケーブルしか持っておらず、PCとの接続が出来ませんでした。一緒に購入すべきでした
使い始めようとして,,トラブル
- 既にArduinoIDEの環境及びXIAORP2040のライブラリは登録済みだったのでXIAORP2040をPCに接続すればCOMポートが自動認識され、Exampleコードのビルド/Uploadが可能だと考えていた。ところが、なぜかCOMポートが認識されなかった。
XIAORP2040には電源が供給されたため、初期登録されているプログラムが動いているようだった。
SeeedのWiki:https://wiki.seeedstudio.com/XIAO-RP2040-with-Arduino/
を視て Step 1 として B ボタンを押しながら USB接続する必要がある事を確認 これを実行するとPCに共有フォルダが現れPCにデバイス認識された。
ところがCOMポートは認識されない。
デバイスマネージャで見る限り認識されていない事になっている。黄色アラートPicoArduino
原因不明 事前にArduinoIDEがインストールされていた事によるのか判らず。
デバイスマネージャでドライバ更新/Armelを強引にインストールすると仮想シリアルドライバという事も有り一応使える様になりました。
※Window7SPIという環境が問題だった可能性を否定出来ません。- Wikiの内容が英語です。Google翻訳して把握は出来ますが、ちょっと思った事があります。
Seeed社はXIAOのWikiも用意しており、こちらは日本語サイトが用意されています。
https://wiki.seeedstudio.com/jp/Seeeduino-XIAO/
こちらで全体把握してから実施すべきでした。
XIAOとXIAORP2040はpinコンパチという事も有り、サンプルコードをコピペして確認出来るはずです。- 実際に書込完了するとUSBドライブとして接続されたとするEventが起きるようです。
Resetting COM41 Caught exception during reset! Converting to uf2, output size: 130560, start address: 0x2000 Flashing I: (RPI-RP2) Wrote 130560 bytes to I:/NEW.UF2
と云うようなメッセージが返りました。
USBドライブとして認識された中にNEW.UF2という名前で書き込まれているようです。実際にテストコードを試してみました。
- Wikiにあるコードを理解しながらコピペして実行確認しました。
まずはDigitalPin
/* * 2022/03/11 T.Wanibe * Seeed XIAO Wikiにあるテストコードの動作確認を行う。pinアサインは変更しないといけないみたい * https://wiki.seeedstudio.com/jp/Seeeduino-XIAO/ * ArduinoIDE 1.8.19 * ボード:Seeed XIAO RP2040 * Flash Size:2MB(noFS) * CPU Speed:133MHz ※初期値は125MHz * Optimize:Smail(-Os)(standard) * RTTI:Disabled * DebugLevel:なし * USB Stack:PicoSDK * シリアルポート:COMxx * * ピンD0をデジタルピンとして使う: * ビルドは通りました * 実際に実行すると『B』ボタンを押している間と青LEDがOFFになります * 最大2093056バイトのフラッシュメモリのうち、スケッチが58672バイト(2%)を使っています。 * 最大262144バイトのRAMのうち、グローバル変数が11152バイト(4%)を使っていて、ローカル変数で250992バイト使うことができます。 */ const int buttonPin = D0; // the number of the pushbutton pin 6->D0 const int ledPin = 25; // the number of the LED pin 13->25 int buttonState = 0; // variable for reading the pushbutton status //------------------ void setup() { // LEDピンを出力として初期化します。: pinMode(ledPin, OUTPUT); // 押しボタンピン(B)を入力として初期化します: pinMode(buttonPin, INPUT); } //------------------ void loop() { // 押しボタン値の状態を読み取ります: buttonState = digitalRead(buttonPin); // 押しボタンが押されているかどうかを確認します。 そうである場合、buttonStateはHIGHです: if (buttonState == HIGH) { // LEDを消灯にします: digitalWrite(ledPin, HIGH); } else { // LEDを点灯にします: digitalWrite(ledPin, LOW); } } |
/* * 2022/03/11 T.Wanibe * Seeed XIAO Wikiにあるテストコードの動作確認を行う。pinアサインは変更しないといけないみたい * https://wiki.seeedstudio.com/jp/Seeeduino-XIAO/ * ArduinoIDE 1.8.19 * ボード:Seeed XIAO RP2040 * Flash Size:2MB(noFS) * CPU Speed:133MHz ※初期値は125MHz * Optimize:Smail(-Os)(standard) * RTTI:Disabled * DebugLevel:なし * USB Stack:PicoSDK * シリアルポート:COMxx * * ピンA0をアナログピンとして使う: * ビルドは通りました * 実際に実行すると『B』ボタンを押している間と青LEDがOFFになります * 最大2093056バイトのフラッシュメモリのうち、スケッチが59464バイト(2%)を使っています。 * 最大262144バイトのRAMのうち、グローバル変数が11164バイト(4%)を使っていて、ローカル変数で250980バイト使うことができます。 */ const int sensorPin = A0; // the number of the pushbutton pin 6->D0 const int ledPin = 25; // the number of the LED pin 13->25 //------------------ void setup() { Serial.begin(115200); // LEDピンを出力として初期化します。: pinMode(ledPin, OUTPUT); // 押しボタンピン(B)を入力として初期化します: pinMode(sensorPin, INPUT); } //------------------ void loop() { // 押しボタン値の状態を読み取ります: int sensorVal = analogRead(sensorPin); // LEDを消灯にします: digitalWrite(ledPin, HIGH); // sensorVal値分の待ち delay(sensorVal); // LEDを点灯にします: digitalWrite(ledPin, LOW); // sensorVal値分の待ち delay(sensorVal); //シリアル出力 Serial.println(sensorVal); } |
免責事項
本ソフトウエアは、あなたに対して何も保証しません。本ソフトウエアの関係者(他の利用者も含む)は、あなたに対して一切責任を負いません。
あなたが、本ソフトウエアを利用(コンパイル後の再利用など全てを含む)する場合は、自己責任で行う必要があります。本ソフトウエアの著作権はToolsBoxに帰属します。
本ソフトウエアをご利用の結果生じた損害について、ToolsBoxは一切責任を負いません。
ToolsBoxはコンテンツとして提供する全ての文章、画像等について、内容の合法性・正確性・安全性等、において最善の注意をし、作成していますが、保証するものではありません。
ToolsBoxはリンクをしている外部サイトについては、何ら保証しません。
ToolsBoxは事前の予告無く、本ソフトウエアの開発・提供を中止する可能性があります。
商標・登録商標
Microsoft、Windows、WindowsNTは米国Microsoft Corporationの米国およびその他の国における登録商標です。
Windows Vista、Windows XPは、米国Microsoft Corporation.の商品名称です。
LabVIEW、National Instruments、NI、ni.comはNational Instrumentsの登録商標です。
I2Cは、NXP Semiconductors社の登録商標です。
その他の企業名ならびに製品名は、それぞれの会社の商標もしくは登録商標です。
すべての商標および登録商標は、それぞれの所有者に帰属します。