Pico W 用のプロジェクト作成
事前学習で動かすのは、模擬衛星の MAIN 基板ではなく、事前配布キットの Raspberry Pi Pico W 単体です。 先に Pico SDK と開発環境の構築 を済ませておいてください。 キットに何が入っているかは 部品リスト の「事前配布キット」を参照してください。
サンプルの blink からプロジェクトを作る
Section titled “サンプルの blink からプロジェクトを作る”環境がそろったことは、自分でコードを書かずに公式サンプルをビルドして確かめます。
- 拡張機能から、サンプル集(pico-examples)の
blinkを選んでプロジェクトを作ります。 - Board type は
Pico Wを選びます。ボードの種類によってオンボード LED の制御コードが変わるためです。 - ビルドを実行すると、
build/の下に書き込み用ファイル(.uf2)が生成されます。
.uf2 ができたら、開発環境の準備はここまでで完了です。
コンパイラと SDK がそろっている証拠であり、オリエンテーションの到達点でもあります。
生成した .uf2 を実機へ書き込む手順は Pico W への書き込み にあります。
blink と blink_simple の違い
Section titled “blink と blink_simple の違い”サンプル集には名前の似た blink と blink_simple があり、Pico W では挙動が違います。
Pico W の基板上の LED は、マイコンの GPIO ではなく無線チップ(CYW43439)につながっています。
blink が Pico W でも光るのは、CYW43_WL_GPIO_LED_PIN が定義されている場合に無線チップのドライバ(cyw43_arch)を初期化して LED を叩く分岐を持っているからです。オンボード LED を光らせるためだけに無線チップを起こしている、とも言えます。
一方 blink_simple は、PICO_DEFAULT_LED_PIN を gpio_init / gpio_set_dir / gpio_put で直接叩くだけの短いコードです。
Pico W ではこのマクロが定義されていないため、そのままビルドしても警告が出るだけで何も起きません。
最初の1枚として blink を選ぶのは、書き込みが成功したかどうかがオンボード LED の点滅としてその場で目に見えるからです。
一方、ブレッドボードに挿した外付けの LED を GPIO で光らせたいときは、blink_simple の形のほうが素直です。その場合、使う GPIO 番号は自分で決めて書く必要があります。