PlatformIO を使った Raspberry Pi Pico の L チカ

今回は PlatformIO を使って Raspberry Pi Pico の L チカを行ってみます。 以前、Raspberry Pi Pico の公式マニュアルにある MicroPython を使い L チカを行いましたが、PlatformIO を使うともっと楽に使えるはずです。

rn.nyaomin.info

概要

はじめに、今回の条件を記載しておきます。

項目
マイコン Raspberry Pi Pico
ホスト OS manjaro linux KDE
プラットフォーム PlatformIO
動作言語 C++ (arduino)

ホストマシンはこの前から使い始めている manjaro linux を使います。

また、簡単なテストなので PlatformIO は CLI でサクッと動作させます。 この辺は vscode 等を使った方が楽かもです。

プロジェクトの作成

最初に適当なフォルダで PlatformIO のプロジェクトを作成します。

pio project init --board pico

このコマンドをターミナルに打つだけで PlatformIO の新規プロジェクトが作成されます。 簡単です。

次に、PlatformIO の設定ファイルを確認しておきます。 同フォルダ内にある platformo.ini というファイルが PlatformIO の設定を記載しているファイルです。

ファイル内に下記のように記載されている項目があれば大丈夫です。

platform = raspberrypi
board = pico
framework = arduino

framework = arduino となっていれば arduino 言語の記載方法で Raspberry Pi Pico のプログラムを書くことができます。 もし、framework 項目がない場合は自分で追加します。

純粋に開発したい場合は framework = baremetal 等にすれば良いと思います。

Lチカプログラムの作成

プロジェクト内の src フォルダに適当な c++ ファイルを作成し、プログラムを書いていきます。

#include <Arduino.h>

void setup() {
    Serial.begin(9600);
    pinMode(25, OUTPUT);
}

void loop() {
    digitalWrite(25, HIGH);
    delay(2000);

    digitalWrite(25, LOW);
    delay(2000);
}

Raspberry Pi Pico の 25 番ピンはボードに内蔵されている LED に接続されているため、テスト用に丁度良いです。

プログラムファイル作成後、プロジェクトの先頭フォルダに戻り、コンパイルします。

pio run

この時、同時に Raspberry Pi Pico へアップロードしようとしたのですが、どうにもエラーが発生しうまく動作しなかったです。 そのため、作成した動作ファイルを直接 Pico へ書き込みます。

対象のファイルは .pio/build/pico/firmware.uf2 と言うファイルです。

これを PC にストレージとして接続した Pico へ直接コピーすると完了です。 ストレージとして接続する方法は以前の記事を参照してください。

おわり

PlatformIO を利用した直接アップロードが上手く動作しなかった点を除いて、非常に簡単に出来ました。 やはり、マイコン系の開発は PlatformIO が非常に便利です。

ただし、アップロードが手動なのは非常に煩わしいため、このエラーをなんとかしたいと思います。