2024年8月1日木曜日

Visual Studio CodeでRaspberry Pi PicoのMicroPythonプログラミングに挑戦

以前の続きです。Raspberry Pi Pico/Pico Wのプログラムを作成する環境として、前回はThonnyを使ってMicroPythonでのプログラミングを試してみました。今回は、最近よく使われているVisual Studio CodeをMicroPythonでの開発環境として使うことができるようにしてみたいと思います。とは言え、Visual Studio Code自体は、MicroPythonにもPico/Pico Wにも特化したものではなく汎用性の高いIDEであるため、それなりに準備を整える必要があります。備忘を兼ねて、その作業手順をまとめておきたいと思います。
#今回は、「Raspberry Pi Pico W の LED を VS Code を使って、点滅させてみた。(RP-Pico チュートリアル)」も参考にしました。
#Visual Studio CodeでC/C++を使ったPico/Pico Wのプログラミングもできますが、今回はチャレンジしていません。

〈Visual Studio Codeのセッティングとプログラミング〉
Visual Studio Codeのインストール作業については、Thonnyと同様にUbuntu系のディストリビューションを使っていればソフトウェアマネージャで簡単にインストールすることができるのですが、どうもインストール後の不安定さが気になったのでダウンロードサイトから.debファイルをダウンロードしてインストールしてみました。作業をした時点では、ソフトウェアマネージャ(Flatpak)ではバージョンが1.90.…となっているのに対して、ダウンロードしたものはバージョンが1.91.…となっていました。とりあえず、ダウンロードした最新バージョンのものを使うことにして作業を進めました。

インストール後にはじめて起動したとき、日本語表示が必要なら日本語のLanguageパックをインストールした方が良いという案内があって、それに従ってインストール作業をしました。Pico/Pico Wとの接続に必要なのは、「MicroPicoGitHub)」という拡張機能です。ウィンドウ左側のメニューアイコンから「拡張機能」を選択して、検索窓に「micropico」と入力するとPico/Pico w用の拡張機能が表示されます。これをインストールすれば準備完了のはずですが…。

よく見ると、拡張機能のMicroPicoの項目に軽微な不具合があることがアナウンスされています。「workspace」への対応に問題があるというような内容が書かれているのですが、そんなことより面倒な問題が発生しました。MicroPicoをインストールしたままPico/Pico Wをつなぎ(「Pico Connected」と表示される)、以前Thonnyで作った「main.py」ファイルを開いてVisual Studio Codeのウィンドウ下部に位置する「ステータスバー」にある「RUN」をクリックすると、プログラム通りの挙動するところまでは順調にできました。ところが、一度Visual Studio Codeを終了させて、再度起動するとステータスバーにあったはずのMicroPicoのメニューがなくなっているのです。どうやら、「MicroPico」拡張機能が正常に起動していない感じだったので、「拡張機能」メニューから「MicroPico」を選んで「無効にする」→「拡張機能の再起動」→「有効にする」という手順で拡張機能を起動し直しました。すると、ステータスバーのメニューが復活することががわかりました。面倒ではありますが、使えないというほどでもないという微妙な状況。試しに、実験的なことばかりに活用してるiMacでもやってみました(macOS版Visual Studio Code 1.91.…を使いました)が、こちらは全く問題なくMicroPicoのメニューが消えることはありませんでした。

ということで、心もとないところは多々ありますが、Linux版Visual Studio CodeでのPico/Pico Wの動作実験の環境ができました。

挙動としては、Visual Studio Codeを起動した状態で、MicroPythonに対応したファームウェアを入れてあるPico/Pico Wをつなぐと「Pico connected」と表示されます。Visual Studio Codeの「ファイル」メニューから「新しいファイル…」でファイル名を決めて新しいファイルを作ります。プログラムは、MicroPythonで書きますので、.pyファイルを作ってプログラムを書き込めばよいということになります。今回は、以前にThonnyで作った「main.py」があったので、これを開いて前面に表示させて、ステータスバーの「RUN」をクリックしました。すると、「RUN」が「STOP」に変わってmain.pyに書かれたとおりに動作しました。次に別のプログラムを動かしたい場合は一度「STOP」をクリックして動作を止めてから、プログラムを変更し終わったら再び「RUN」をクリックして動作確認します。
#この際のファイル名は、「main.py」でなくても問題ありませんが、最終的にPico/Pico Wに書き込んで自立的に使いたい場合には、「main.py」でないと思い通りに動いてくれません。

Pico/Pico Wにプログラムしたものを書き込みたい場合は、「表示」メニューから「コマンドパレット」を選択し、コマンドを入力する窓に「MicroPico: Upload current file to Pico」と打ち込んでEnterキーを押すと書き込み作業をしてくれます。この辺りは、Tonnyに比べるとやや敷居が高い気がします。「他の用途でVisual Studio Codeを使用していて、その操作性に慣れているから同じ環境でPico/Pico Wを使いたい」という場合には、Visual Studio Codeを使うというのはよい選択肢だと思いますが、Tonnyの方がシンプルで使いやすく初学者にも優しいように思いました。

〈参考資料〉

〈Lチカプログラム〉

from machine import Pin
import utime
led = Pin(25, Pin.OUT)
while True:
led.toggle()
utime.sleepms(400)

0 件のコメント: