ArduinoIDEでXIAORP2040+ExpansionBoardを試します

最終更新日 2022年3月11日

先日秋月でSeeedXIAORP2040を購入しました。RaspberryPiPicoとの比較がしたかったからです。
SeeedXIAORP2040の商品欄には専用の拡張ボード及びアクリスカバー/ケースそしてM5Stackのセンサモジュールが掲載されており合わせて購入した次第です。
SeeedXIAORP2040を組み立てて、早速Arduino環境からプログラミングしようと思ったのですが安易には実現出来ませんでした。備忘録を残しておこうと思いました。

最初のトラブル

使い始めようとして,,トラブル

実際にテストコードを試してみました。

/*
 * 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);
}


戯言(nonsense)に戻る


免責事項

本ソフトウエアは、あなたに対して何も保証しません。本ソフトウエアの関係者(他の利用者も含む)は、あなたに対して一切責任を負いません。
あなたが、本ソフトウエアを利用(コンパイル後の再利用など全てを含む)する場合は、自己責任で行う必要があります。

本ソフトウエアの著作権は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社の登録商標です。
その他の企業名ならびに製品名は、それぞれの会社の商標もしくは登録商標です。
すべての商標および登録商標は、それぞれの所有者に帰属します。