みーのぺーじ

みーが趣味でやっているPCやソフトウェアについて.Python, Javascript, Processing, Unityなど.

Raspberry Pi Pico を購入した

Raspberry Pi Pico を購入しました.秋月電子通商通販で1個税込770円だったので,2個購入しました.

セットアップ

Get Started with MicroPython on Raspberry Pi Pico という本のPDFが,公式サイトから無料で配布されていたので,読みました.Raspberry Pi Pico で MicroPython を実行する方法などが分かりやすく初心者向きに解説されていました.1時間もかからず読み終わる程度の量でしたので,お手軽です.

BOOTSEL (boot selection の略) ボタンを押しながらパソコンにUSB接続して,表示されるストレージに, Raspberry Pi Pico 用の MicroPython UF2 file を保存します.正しく書き込めるとストレージが切断されます.

この作業は初回のみ必要です.

LED を点滅させる

Thonny をインストールして,Raspberry Pi 用の設定で起動します.

とりあえず pico の基盤に搭載されている LED を操作するプログラムを実行してみました.GPIO 25 を使用します.

Run ボタンを押すと,REPL で実行されます.

LEDが1秒ごとに点滅しました.このモードならば,パソコンに接続した状態ですぐに実行できるので便利です.

Pico 単体で動作させる

パソコンに接続しなくても動作するよう,Pico にスクリプトを保存して単体で動作するように設定します.Thonny はデフォルトで簡易モードで起動するのですが,この状態では必要なボタンが表示されないので,標準モードに切り替えます.

保存先を Pico に指定します.

ファイル名を main.py に設定して,保存します.USB ケーブルを別の 5 V 電源に接続したところ,LED が点滅しました.

Raspberry Pi Pico はとてもかんたんにプログラムできることが分かりました.

さらなる情報

とりあえず,machine.Pin, utime が使えれば色々なことができそうです.

class Pin – control I/O pins — MicroPython latest documentation

time – time related functions — MicroPython latest documentation

Pin.irq を使えばイベント駆動のプログラムが作成できます.

class Pin – control I/O pins — MicroPython latest documentation

2MB の保存領域が搭載されているので,ファイルとしてデータを読み書きできます.

RP2040 は 2 コア Arm Cortex-M0+ なので,Thread が使えます.GIL は無効なので,通常の Python とは異なる手法が使えます.

_thread – multithreading support — MicroPython latest documentation

The GIL is not enabled so both core0 and core1 can run Python code concurrently, with care to use locks for shared data. (Raspberry Pi Pico Python SDK 3.5. Multicore Support より引用)