Raspberry Pi Picoが届いたので、とりあえずMicroPythonをインストールして動かしてみました。
こんなリール型パッケージです。何かの都合か、それとも演出でしょうか。
MicroUSBコネクタの左側に小さなLED、その下にBOOTSELボタンがあります。
MicroPythonのファームウェアをダウンロードしてきます。
Getting Startedのページへ行き・・・
Getting Started with MicroPythonのタブを選択します。
Download UF2ファイルのリンクをクリックして、拡張子uf2のファイルを保存します。
MicroUSBケーブルを用意し、「BOOTSELボタンを押しながら」PicoをPCに接続します。
USBメモリとして認識されます。
ダウンロードしたUF2ファイルを、Picoのドライブにドラッグ&ドロップします。
するとファイルがコピーされた後、Picoは自動で再起動され、ドライブは見えなくなります。これでインストール完了です。
推奨のIDEはThonnyです。以前M5StickCで使う記事を書いたことがあります。
起動後、メニューのRun→Select Interpreter…でインタープリタをMicroPython(Raspberry Pi Pico)にしておきます。
あるいは、TeraTermなどのターミナルソフトで接続することができます。シリアルポートの設定は115200bps/8bitです。
現状では、ペーストモードなどのときに時々ハングアップするようなので、どちらかといえばThonnyの利用をお勧めします。
MicroPythonのPicoへの移植は、MicroPythonの開発者であるD.P.Georgeさんが自ら行われたようです。
内蔵のモジュールです。Pico関連の機能はrp2モジュールに入っています。
>>> help('modules') __main__ framebuf uasyncio/__init__ uio _boot gc uasyncio/core uos _onewire machine uasyncio/event urandom _rp2 math uasyncio/funcs uselect _thread micropython uasyncio/lock ustruct _uasyncio onewire uasyncio/stream usys builtins rp2 ubinascii utime ds18x20 uarray ucollections Plus any modules on the filesystem >>>
>>> help(rp2) objectis of type module Flash -- PIOASMEmit -- const -- asm_pio -- PIOASMError -- _pio_funcs -- {'in_': None, 'y_dec': 4, 'pin': 6, 'iffull': 64, 'gpio': 0, 'not_osre': 7, 'clear': 64, 'rel': at 0x200069d0>, 'wrap': None, 'x_not_y': 5, 'word': None, 'out': None, 'push': None, 'noblock': 1, 'pull': None, 'wrap_target': None, 'x_dec': 2, 'mov': None, 'irq': None, 'set': None, 'y': 2, 'x': 1, 'null': 3, 'pc': 5, 'invert': at 0x200066e0>, 'pins': 0, 'not_x': 1, 'not_y': 3, 'ifempty': 64, 'isr': 6, 'pindirs': 4, 'exec': 8, 'label': None, 'status': 5, 'nop': None, 'osr': 7, 'block': 33, 'reverse': at 0x200066f0>, 'jmp': None, 'wait': None} __name__ -- rp2 StateMachine -- asm_pio_encode -- PIO -- >>>
とりあえずLチカしてみます。使用するGPIOは25番です。
Pico Python SDKのマニュアルの3.8に、PWMを使ってLEDを光らせる例があります。
Thonnyを使う場合は、上のスクリプトをコピーしてThonnyのウインドウのスクリプトエリアに貼り付け、実行ボタン(緑のボタン)をクリックすると実行できます。(ファイルとしてPicoに転送するので、実行前にスクリプトをファイルを保存する必要があります。)
TeraTermを使う場合は、上のスクリプトをコピーし、TeraTermのウインドウでCtrl-Eを入力してからペーストして、Ctrl-Dで抜けると実行されます。
こんな感じで動きます。
コメント