Raspberry Pi Pico WにPythonプログラムを書き込む(Thonnyを使用)

私はこれまで、M5Stackなど「ESP32」マイコンを搭載したマイコンボードで、いろいろなIoTデバイスをつくってきました。

「ESP32」は安価でありながらWi-Fi通信も可能で、とても使いやすいマイコンですが、同じような位置付けのマイコンやマイコンボードが他には見当たらず、「ESP32」以外の選択肢がないことを懸念していました。
最近の半導体不足の状況もあり、もしも「ESP32」が供給不足になってしまったりしたら、今つくっているようなデバイスは何もつくれなくなってしまいそうです。

ところで、「Raspberry Pi Pico W」というマイコンボードが、ようやく日本でも発売されました。
Raspberry Pi財団が2021年に発表した「Raspberry Pi Pico」というマイコンボードに、Wi-Fi通信機能が追加されたものです。
低価格でありながら扱いやすそうな上に、Wi-Fi通信も可能とのことで、これなら「ESP32」の代わりとして活用できそうです。


そんな訳で、早速購入してみました。

使うのは初めて(Raspberry Pi Picoも含めて)なので、ChatGPTに使い方を聞いてみました。

[Q]
 Raspberry Pi Pico用のプログラムをつくる方法にはどんなものがあるの?
[A]
 Raspberry Pi Picoは、マイクロコントローラー用の小型ボードであり、PythonやC++などの言語でプログラミングできます。以下は、Raspberry Pi Picoでプログラムを作成するための一般的な方法です。
1.C/C++言語を使用する
  (省略)
2.Pythonを使用する
  (省略)
3.Arduino IDEを使用する
  (省略)
4.CircuitPythonを使用する
  (省略)
 これらの方法は、Raspberry Pi Picoでプログラムを書くための一般的な方法の一部です。どの方法を選ぶかは、開発者の好みによって異なります。開発者は、自分の好みや必要性に合わせて、最適な方法を選ぶことができます。

[Q]
 これらの中で、初心者にとって最も一般的なものはどれ?
[A]
 初心者にとって最も一般的な方法は、Pythonを使用する方法です。Pythonは、シンプルで読みやすい言語であり、機械学習や科学技術計算などの用途にも適しているため、初心者がRaspberry Pi Picoでプログラミングを学ぶために最適な選択肢の1つです。また、Raspberry Pi Picoは、MicroPythonというPython用のSDKを提供しているため、Pythonの知識があれば比較的簡単に始めることができます。しかし、C/C++言語を使用する方法も、より高度なプログラミング技術を学ぶために重要であるため、将来的にはC/C++を学ぶことも検討してみると良いでしょう。

[Q]
 PythonでRaspberry Pi Pico用のプログラムをつくるための開発環境にはどんなものがあるの?
[A]
 Raspberry Pi Pico用のPythonプログラムを開発するためには、いくつかの開発環境があります。以下にいくつかのオプションを紹介します。
1.Thonny
 Thonnyは、Python用の統合開発環境(IDE)で、Raspberry Pi Picoの開発に最適です。Thonnyはシンプルで使いやすく、コードのデバッグにも優れています。また、Raspberry Pi Picoとの接続も簡単です。Thonnyは、Raspberry Pi OSにデフォルトで含まれています。
2.Visual Studio Code
  (省略)
3.Mu
  (省略)
4.IDLE
  (省略)
 これら以外にも、様々なPython用IDEが存在します。開発環境の選択は、個人の好みやプロジェクトの要件に応じて行うことができます。

[Q]
 ThonnyでRaspberry Pi Pico用のプログラムをつくるための具体的な手順を教えて。使うパソコンはmacOSです。
[A]
 Thonnyを使用してRaspberry Pi Pico用のPythonプログラムを作成するためには、以下の手順に従ってください。
1.Raspberry Pi Picoのファームウェアを更新する
 最新バージョンのRaspberry Pi Picoのファームウェアが必要です。Raspberry Pi Picoをコンピューターに接続し、ファームウェアを更新します。詳細は、Raspberry Pi Picoの公式ドキュメントを参照してください。
2.Thonnyをインストールする
 macOS用のThonnyを公式サイトからダウンロードしてインストールします。
3.Raspberry Pi PicoとThonnyを接続する
 Raspberry Pi Picoをコンピューターに接続します。接続後、Thonnyを開き、メニューの「ツール」>「マイクロコントローラ」>「Raspberry Pi Pico」を選択します。
4.プログラムを作成する
 Thonnyの「新しいファイル」をクリックして、新しいPythonファイルを作成します。ここで、Raspberry Pi Pico用のPythonプログラムを作成します。例えば、以下のようなLEDを点滅させるプログラムを作成することができます。
 import machine
 import utime
 led = machine.Pin(25, machine.Pin.OUT)
 while True:
     led.toggle()
     utime.sleep(1)
5.プログラムをRaspberry Pi Picoに書き込む
 プログラムを書き込む前に、Thonnyのメニューから「ツール」>「マイクロコントローラ」>「書き込み」を選択します。次に、Raspberry Pi Picoに書き込むために「書き込み」をクリックします。これにより、プログラムがRaspberry Pi Picoに書き込まれます。
6.プログラムを実行する
 プログラムを実行するには、Raspberry Pi Picoをコンピューターから切断し、電源を入れます。LEDが点滅するはずです。
 これで、Thonnyを使用してRaspberry Pi Pico用のPythonプログラムを作成できました。

この手順に従って、「Raspberry Pi Pico W」用の環境構築を進めていこうと思います。Macintosh(macOS:Ventura 13.1)を使います。

Raspberry Pi Pico Wのファームウェアを更新する

Raspberry Pi財団の こちら のページにアクセスします。

下の方に降りていくと「Drag-and-Drop MicroPython」という項目があるので、「Raspberry Pi Pico W」用のUF2ファイルをダウンロードします。

「Raspberry Pi Pico W」の「BOOTSEL」ボタンを押しながら、USBケーブルでパソコンとつなぐと、USBメモリなどと同じようにドライブ(RPI-RP2)が表示されます。

ダウンロードしたUF2ファイルを「RPI-RP2」ドライブにコピーします。

Thonnyをインストールする

ThonnyのWebページ(こちら)にアクセスします。

「Download versiom X.X.X for Mac」をクリックしてダウンロードします(今回ダウンロードしたバージョンは 4.0.2 でした)。

ダウンロードした「thonny-X.X.X.pkg」を開き、画面の指示に従ってインストールを実施します。

インストールが完了したら、「Thonny」をダブルクリックして起動します。

初回はこのようなウィンドウが開くので、「Language」で「日本語」を選択して「Let’s go!」をクリックします。

Raspberry Pi Pico WとThonnyを接続する

「Raspberry Pi Pico W」とパソコンをつないだ状態で、Thonny画面の右下で「ローカル Python 3」と表示されている箇所をクリックし、「MicroPython (Raspberry Pi Pico)」を選択します。

プログラムを作成する

Thonnyのコード入力欄に、プログラムを入力します。基本的にはChatGPTが提示してくれたプログラムをそのまま入力しますが、「Raspberry Pi Pico」と「Raspberry Pi Pico W」ではLEDの接続先が違うようなので、「25」と書かれていた箇所を「”LED”」に変更します。

プログラムをRaspberry Pi Pico Wに書き込む

画面左上の「保存」ボタンをクリックします。

「Where to open from?」という画面が表示されるので「Raspberry Pi Pico」をクリックします。

ファイル名を「main.py」にして「OK」をクリックします。

プログラムを実行する

「Raspberry Pi Pico W」をパソコンから外し、ACアダプタにつないで電源供給すると、「Raspberry Pi Pico W」上のLEDが点滅します。

これで、「Raspberry Pi Pico W」に問題なくプログラムが書き込めたことを確認できました。