RaspberryPi[3] pi pico

RaspberryPi pico は500円で買えるマイコンです。これも一応ラズベリー財団が出しているのでラズパイです。しかし、いままでのラズパイ3や4とは違いOSを搭載しません。なので、今までのラズパイとはちょっと異なります。私はESP32を弄ることが多いですが、ESP32だと約1000円なのでpi picoは約半分の価格です。ESP32はBTやWiFiが載っているのでいろいろできますが、それらを必要としないのなら、pi pico でいいのではないでしょうか。私の場合はこれを買ってみようという大きな理由に消費電力がありました。ESP32は約50mA、pico は20mA程度なので、車載を考えるとバッテリーに優しいpi pico がいいなということです。

開発環境はいくつかあるようです。Cでの開発だとRP2040の実行ファイルをつくる為のにコンパイラを用意する方法とAruduino IDEで開発する方法があるようです。前者はそれなりに複数のソフトの連携で作るので開発環境の設定に時間がかかるようです。お試しで遊ぶには少し面倒だなという感じでしょうか。Aruduino IDEを使う方法は非常に環境を作るのが簡単で、特に、既にIDEの経験がある私にとってはこれが一番楽でした。しかし、実際に使ってみると書き込みできないなどの不具合があり、なかなか安定して使えないということがストレスでした。そこで、あまり慣れていない Pythonでの開発環境を構築してみました。

構築方法は巷に沢山書かれているので、割愛しますが、構築にあたって気なったことだけを覚書として書いておこうと思います。色々な紹介ページがありますが、結構端折っているので初めて見ると同じ事が出来ないことが多いので。

まずは、pico をUSBメモリとして認識させないと、駄目なのでまずはこれです。ただ単にUSBにさしても駄目で、BOOTボタン(白い小さなボタン)を押しながらUSBポートに刺す必要があります。そうすると、USBメモリと同じに見えますので(RPI-RP2として見える)、その中に入っている。INDEX.THMをクリックします。ここからファームウエアをダウンロードするということですが、最初に表示されるページにはありません。このページにある「Micro Python」をクリックすると、MicroPythonというページにあります。MicroPython UF2 で直接落とせます。

このBOOTボタンを押しながら接続するというのは結構重宝します。いつでもUSBメモリとして認識できるは助かります。

ファームウエアを書いた状態で、Aruduino IDEで書き込もうとするとエラーで書けません。その場合も同じように、BOOTボタンを押しながらつなぐと書き込めるようになります。この時、ポート番号が変わってしまうので注意が必要です。私の場合は、Thonny IDEではポート14となってますが、BOOTボタンを押して接続した場合は、ポート14が見えなくなり、ポート3で Arduino IDE が書き込めるようになります。この辺は個々の環境に依存するかもしれません。

Thonny IDEも少し癖があるようで、自動起動するためにはPython名をmain.pyにしないと自動起動しないようです。新しいファイルを作っても上書きされないようなので、pi に書き込まれたmain.pyを開いてそこに新しいプログラムを上書きしてから、RUNしないとmain.pyは変わらないようです。

色々なマイコンなどを使っていると、どれが自分の目的に一番合うかということを決めるのに一番、お金と時間がかかりますね。すべて一つで行けるということはまずないので。