Hello worldしてみた
昨年、elchikaでもらった秋月電子商品券で購入してほったらかしにしていたラズパイピコを試してみました。
ラズパイピコはArduino IDEで使えて、CPUも強力でDual Coreということです。
Arduino IDEの設定
ラズパイピコはArduino IDEで使うほかに、VS Codeで使う方法もあるようですが、最も簡単に使えそうなArduino IDEをまずは試してみることにしました。
まずファイル¥環境設定
から「追加ボードマネージャーのURL」に以下を設定します。
https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json
次に、IDEの「ツール」メニューからボードマネージャーを開きます。
ここでpicoで検索します。
現時点では2つのライブラリがヒットします。
これらを両方入れておきます。(一つ目はDEPRECATEDなので無視)
Hello world
まずは簡単なGPIOとSerialを使うプログラムを書いてみます。
ここでLED_BUILTIN
というのはボード上のチップLEDのことです。
void setup() { pinMode(LED_BUILTIN, OUTPUT); Serial.begin(115200); } void loop() { digitalWrite(LED_BUILTIN, HIGH); delay(500); digitalWrite(LED_BUILTIN, LOW); delay(500); Serial.print("Hello world"); }
まずは、Arduino Mbed OS RP2040 Boards
のボード設定で書き込みます。
書き込みボタンを押下すると一度ラズパイピコのフォルダが開きますが勝手に閉じて書き込みが成功します。
次にRaspberr Pi RP2040 Boars(2.0.0)
のボード設定でも試してみます。
こちらは、一度USB接続を外して、Bootボタンを押しながら接続しなおす、という工程を入れないとうまく書き込みができないようです。
また、USBの認識が時々ボードを認識しない、という現象が起きます。
Dual Coreを試してみる
ラズパイピコの最大のメリットであるDual Coreを試してみます。
void setup() { pinMode(LED_BUILTIN, OUTPUT); } void setup1() { Serial.begin(115200); } void loop() { digitalWrite(LED_BUILTIN, HIGH); delay(500); digitalWrite(LED_BUILTIN, LOW); delay(500); } void loop1() { Serial.println("Hello world!"); delay(300); }
Dual Coreを使うときは、Coreごとにsetup()
とloop()
を分けて記述します。
こちらも同様に書き込みをしてみますが、Arduino Mbed OS RP2040 Boards
のボード設定ではどうしてもCore2が動きません。
Raspberr Pi RP2040 Boars(2.0.0)
のボード設定では動きました。
SerialがCore2では動かないのか?とかいろいろ試してみましたが、そういうわけではないようです。
Hello Raspberry Pi Pico world! pic.twitter.com/G1GaB8UrUT
— とりてん (@s51517765) 2022年5月7日