ソースに絡まるエスカルゴ

貧弱プログラマの外部記憶装置です。

【Raspberry Pi Pico/Windows】Raspberry Pi Picoの環境構築する(CircuitPython)

 以前の記事でMicroPythonでRaspberry Pi PicoのLチカをやる記事を書きました。

 この時「MicroPythonでは本体にプログラムを書き込めない」ということ書きましたが、色々調べているとRaspberry Pi Picoには「CircuitPython」にも対応していることがわかりました。これを使えばPythonのプログラムをRaspberry Pi Pico本体に書き込むことができます。

 今回はそんなCircuitPythonの環境構築とLチカをやってみたまでの備忘録になります。

 では、始めます。


1:CircuitPythonのUF2ファイルをダウンロードする
 CircuitPython公式のダウンロードページを開きます。

 ページを開くと検索欄があるので、そこに「pico」と入力して出てきた中にある「Pico by Raspberry Pi」をクリックします。
f:id:rikoubou:20210210160144p:plain

 右側の言語を選択して「DOWNLOAD. UF2 NOW」のボタンをクリックしてUF2ファイルをダウンロードします。
f:id:rikoubou:20210210160512p:plain


2:Raspberry Pi PicoでCircuitPythonを使えるようにする
 Raspberry Pi Picoの「BOOTSEL」ボタンを押した状態でPCに接続し、1でダウンロードしたUFファイルをRaspberry Pi Picoのフォルダにドラッグ&ドロップします。
f:id:rikoubou:20210210161335p:plain

 コピーが完了するとRaspberry Pi Picoが再起動され、以下のようなフォルダが立ち上がります。
f:id:rikoubou:20210210161520p:plain

 この状態VSCodeを起動させて冒頭に紹介した記事で入れたプラグインのPico consoleを表示させると、以下のような表示になっています。
f:id:rikoubou:20210210162318p:plain

 これでCircuitPythonをRaspberry Pi Picoで動かせるようになりました。

 ちなみにこのターミナルでprint文を実行するとその結果が返ってきます。そして「Ctrl + D」キーを押すとリロードされて書き込まれているPythonのコードが実行されます(※すでにコードを書き換えたので「hello」と表示されていますがデフォルトだとhello world的な文言だった気がします)。
f:id:rikoubou:20210210162652p:plain


3:Lチカサンプルを動かす
 ここまで準備ができたら実際にCircuitPythonでLチカサンプルを動かしてみます。

 Raspberry Pi Picoのフォルダ内にある「code.py」ファイルを直接開いて以下の内容に書き換えるか、PCで作成した以下の「code.py」ファイルを上書き保存してみてください。

・code.py

import digitalio
from board import *
import time

led = digitalio.DigitalInOut(GP25)
led.direction = digitalio.Direction.OUTPUT

while True:
    print("hello")
    led.value = True
    time.sleep(1)
    led.value = False
    time.sleep(1)

 すると1秒ごとにRaspberry Pi PicoのLEDが点滅し、Pico consoleに2秒ごとにhelloの文字が表示されます。
f:id:rikoubou:20210210164623p:plain

 うまく動かない場合はターミナル上で「Ctrl + D」キーでリブートをかけるか、一度Raspberry Pi Picoを接続し直してみてください。

 Raspberry Pi Pico本体に書き込まれているので、繋ぎ直しても同じCircuitPythonのプログラムが実行されます。


 以上がRaspberry Pi PicoでCircuitPythonの環境構築とLチカまでの方法になります。

 C/C++の環境構築と比較するとかなり簡単でビルドをする必要もないので手軽です。

 ちなみに本記事執筆時点では「CircuitPython 6.2.0-beta.1」となっているので、色々と不具合が出る前提で使うぐらいが良いと思います。


おまけ:CircuitPythonのライブラリを追加する
 今回はLチカだけだったので問題ないですが、I2Cなどを使う場合はライブラリの追加が必要になります。

 CircuitPythonのライブラリを追加するには、まずLibrariesページを開きます。

 一番上にあるzipファイルをダウンロードします。
f:id:rikoubou:20210210163746p:plain

 ダウンロードしたzipファイルを解凍すると以下のようになっています。
f:id:rikoubou:20210210163959p:plain

 解凍した中にある「lib」フォルダ内に色々とライブラリが入っているので、必要な分だけRaspberry Pi Picoの「lib」フォルダ内にコピーします。
f:id:rikoubou:20210210165132p:plain

 こうすることでライブラリを使用できるようになります。


・参考資料