Raspberry Pi Pico で MicroPython その6 CircuitPythonの書き込みと動作確認

Raspberry Pi Pico で CircuitPython を動かしてみます。
CircuitPythonに興味を持ったのは、偶然 Getting started with HID and the Pi Pico (thestaticturtle.fr) というサイトでPicoをUSB HIDマウスにしているのを見つけたからです。これを応用すればPicoをHIDデバイスにしていろいろできそうです。
CircuitPythonはMicroPythonから派生した、教育および初心者向けのオープンソースのプログラミング言語で、Adafruit Industriesが開発を支援しているそうです(Wikipediaより)。
CircuitPython 対応ボード一覧は こちら です。
Raspberry Pi Pico の購入は こちら が確実です。

1.CircuitPythonのUF2をPicoに書き込む
Pico Download (circuitpython.org) を開き「DOWNLOAD UF2 NOW」をクリックします。

「BOOTSEL」ボタンを押しながらPicoをPCに接続します。

フォルダが表示されたら「BOOTSEL」ボタンを放します。
ダウンロードした「adafruit-circuitpython-raspberry_pi_pico-ja-6.2.0-beta.2.uf2」を Picoのフォルダにコピーします。

自動的にPicoがリブートして CircuitPythonモードになります。
Picoは先ほどとは別のUSBメモリとしてのマウントされます。同時にCOMポートとして認識されます。

2.Thonny Python IDE で動作確認
Thonny Python IDE を起動し「ツール」「Options」をクリックします。

「CircuitPython(generic)」「USBシリアルデバイス(COM*)」を選択して「OK」をクリックします。*はCOMポート番号です。

Picoと接続できました。RTCに関するWarningが出ていますが無視します。

「Shell」タブに「print(“Hello, World!”)」と書き「Enter」キーを押すとPicoが「Hello, World!」を返してきます。

<untitled> タブに以下の8行を書きます。

import digitalio
from board import *
import time
led = digitalio.DigitalInOut(GP25)
led.direction = digitalio.Direction.OUTPUT
while True:
    led.value = True
    time.sleep(0.1)
    led.value = False
    time.sleep(0.1)

「Run current script」ボタンをクリックします。

「CircuitPython device」をクリックします。

「code.py」を選択して「OK」をクリックします。

「はい」をクリックします。

ThonnyとCircuitPythonの相性が悪いのか、上書き保存できません。
しかたがないので「閉じる」をクリックします。

プログラムは正しく実行されてLEDが点滅を開始します。

「Stop/Restart backend」ボタンをクリックして止めます。

プログラムをPicoに保存することができませんでしたが、それ以外は正しくできました。
保存先を「This computer」にすれば問題なくPCに保存できます。
保存したファイルを「CIRCUITPY」ドライブにドロップすることもできます。

今回はここまでです。
次回はCircuitPythonでPicoをHIDデバイスにしてみたいと思います。

参考文献
Pico Download (circuitpython.org)
GitHub – adafruit/circuitpython: CircuitPython – a Python implementation for teaching coding with microcontrollers
CircuitPython – Wikipedia
Getting started with HID and the Pi Pico (thestaticturtle.fr)

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト /  変更 )

Google フォト

Google アカウントを使ってコメントしています。 ログアウト /  変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト /  変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト /  変更 )

%s と連携中