Raspberry Pi Picoの使い方~開発環境の構築からLチカまで~

Raspberry Pi Pico(ラズピコ)は数百円で買えて手軽に使えるマイコンボードです。
他のラズベリーパイシリーズと違いOSは搭載されていないので、ArduinoやESPシリーズに近い製品です。
今回は、ラズピコの開発環境を立ち上げて、Lチカさせるまでの手順を説明していきます。
開発環境の構築
開発環境はいくつかありますが、RaspberryPi 4 MODEL Bで慣れたThonnyを使った開発環境を立ち上げたいと思います。
Raspberry Pi Picoの場合、OSが無いのでThonnyはパソコンにインストールすることになります。
Thonnyをインストール
下記のページよりThonnyをダウンロードします。
外部サイトThonny, Python IDE for beginners

ダウンロードが完了したらインストーラーを起動し、インストールを進めます。
特に難しい設定はありませんので、すぐに完了するでしょう。
インストールが完了したらThonnyを起動します。

MicroPythonでプログラミング
ラズピコのプログラムはMicroPythonを使います。
ざっくり言うとマイコン用のPythonです。
基本的にはPythonと同じですが、使用するモジュールやライブラリが異なります。
Lチカするコード
MicroPythonでボード上のLEDをチカチカさせるためのコードです。
import machine
import utime
led = machine.Pin(25, machine.Pin.OUT)
while True:
led.value(1)
utime.sleep(0.5)
led.value(0)
utime.sleep(0.5)
まず、machineモジュールをインポートします。
machineモジュールはハードウェアを動作させるための関数やクラスを持っています。
今回の場合は4行目でLEDを制御するGPIOピンを制御するために使われています。
2行目にインポートしているutimeモジュールは、標準のPythonのtimeモジュールのMicroPython版です。
timeモジュールと使い方は同じで、8行目、10行目のようにスリープ時間を設定することができます。
これで、0.5秒間隔でLEDがオン・オフを繰り返すプログラムの完成です。
RaspberryPi Picoに書き込む
ThonnyのRaspberryPi Picoを認識させます。
この時点ではRaspberryPi PicoはPCと接続しません。
メニューから、「ツール」→「オプション」の順に選択し、「インタプリタ」のタブを開きます。
Micro Python(Raspberry Pi Pico)を選択し、「Install or update MicroPython」をクリックします。

下の画面が表示されます。

英語の説明がされてますが、簡単に説明すると、RaspberryPi Picoのボード上にあるBOOT SELボタンを押しながらUSBを接続しましょうということです。

USBを接続すると、Target Volumeが自動的に選択されます。
これでラズピコが認識されたことになるので、ボタンは離してOKです。
「Micro Python variant」でRaspberry Pi・Pico / Pico Hを選択し、インストールをクリックします。

インストールが成功すれば、実行ボタンからプログラムを実行できるので、動作チェックが行なえます。

問題なければラズピコに書き込みましょう。
保存ボタンをクリックすると、保存先の選択肢が現れるので、「Raspberry Pi Pico」を選択します。

保存するファイル名はmain.pyにします。
これ、重要です!
ファイル名をmain.pyにしておかないと、自動実行できません!
main.pyにしておけば、PC以外でもUSB電源を供給すれば自動的に書き込んだプログラムが実行されます。
実行結果はコチラ!
MicroPythonってマイコン用Pythonって意味か😲
環境構築したので、とりあえずお約束のLチカ! pic.twitter.com/APbQbkmwdu— りょうのすけ (@ryo_analog) November 23, 2022