Raspberry Pi PicoとCircuitPythonでLED点滅

キーボード

はじめに

Raspberry Pi Picoの動作を確認します。やることは定番のLEDの点滅です。今回の記事は以下の環境で動作確認をしています。

  • マイコンボード: Raspberry Pi Pico
  • 統合開発環境: Thonny 4.1.4
  • プログラミング言語: CircuitPython 9.1.3

今回は以下のような手順で動作を確認しています。

  • Raspberry Pi Picoの初期化
  • Raspberry Pi PicoへCircuitPythonをインストール
  • PCへPythonの統合開発環境Thonnyをインストール
  • Raspberry Pi Pico上のLEDを点滅させるプログラムをRaspberry Pi Picoへ保存
  • LEDの点滅を確認

準備するもの

今回の動作確認のために必要なものです。

  • Raspberry Pi Pico
    • 購入先はRaspberry Pi財団の正規代理店でも良いですが、その他のECショップや電子部品を取り扱っている実店舗でも購入することができます。
  • インターネットにつながるパソコン
    • スペックはThonnyが動く程度であれば良いです。一般的に購入できるものであれば問題ありません。
    • 後述するMicro USB Type-Bケーブルを接続することになるので、USBポートは必要です。
    • 今回の記事では説明のためにPC画面のスクリーンショットを貼り付けていますが、Windows 11の画面となっていることにご留意ください。
    • 様々なツール等をダウンロードするので、インターネットに接続できる環境は必要です。
  • Micro USB Type-Bケーブル
    • パソコンとRaspberry Pi Picoの間を通信のために接続します。
    • コネクタは、Raspberry Pi Pico側はMicro USB Type-B、パソコン側はパソコンのUSBポートに合ったものを選んでください。
    • 充電用のケーブルではなく、通信用のケーブルを使用してください。充電用のケーブルには通信用の線が無いため、パソコンとRaspberry Pi Pico間で通信をすることができません。

準備したものは以下の図のような形で接続しておきます。

PCとRaspberry Pi Picoの接続

Raspberry Pi Picoの外観

Raspberry Pi Picoの外観です。主に以下のページを参考にしています。

データシートを確認すると、サイズは51 x 21[mm]となっており実物も概ね同サイズです。

ボード上にはBOOTSELと表記のある押しボタンが付いています。ファームウェアのインストールのときなどに使用するボタンです。

ボード上には単色のLEDが付いています。今回はこのLEDを点滅させます。

Raspberry Pi Pico外観

Raspberry Pi Picoのフラッシュメモリの初期化

Raspberry Pi Picoに既に別のファームウェアをインストールしている場合などは、まずRaspberry Pi Picoのフラッシュメモリを初期化します。

大きく以下の2つの手順を踏みます。

  1. 以下のURLから初期化用のファイルをダウンロードする。
  2. Raspberry Pi PicoをBOOTSELボタンを押しながら起動し、”RPI-RP2″ドライブ内にダウンロードしておいた初期化用ファイルをドラッグ&ドロップする。

実際に初期化してみます。まずは上記のURLにアクセスし、”Download the UF2 file”から初期化用のファイル(flash_nuke.uf2)をダウンロードします。画面はGoogle Chromeの画面なので使用しているブラウザに合わせて適宜読み替えてください。

flash_nuke.uf2のダウンロード

USBケーブルをPCに差しておき、Raspberry Pi Pico上の”BOOTSEL”ボタンを押しながら、USBコネクタをRaspberry Pi Picoに差し込みます。

Raspberry Pi PicoがPCから”RPI-RP2″ドライブとして認識されます。

ファームウェアを書き込んでいない状態(初期化済みの状態)では、BOOTSELボタンを押さなくても、USBコネクタを差し込むだけで”RPI-RP2″ドライブとして認識されます。

ダウンロードしておいた”flash_nuke.uf2″を”RPI-RP2″ドライブへドラッグ&ドロップします。

ここで1度PCからRaspberry Pi Picoが認識されなくなります。USBを接続したまま少し待っていると再度PCから”RPI-RP2″ドライブとして認識されます。

これでRaspberry Pi Picoのフラッシュメモリは初期化されました。

CircuitPythonのインストール

続いてCircuitPythonのファームウェアをインストールします。

大きく以下の2つの手順を踏みます。

  1. 以下のURLからCircuitPythonファームウェアファイルをダウンロードする。
  2. Raspberry Pi Picoの”RPI-RP2″ドライブ内にダウンロードしておいたファイルをドラッグ&ドロップする。

まず上記のURLからCircuitPythonファームウェアのUF2ファイルをダウンロードします。本記事作成時点では”adafruit-circuitpython-raspberry_pi_pico-ja-9.1.4.uf2″が最新です。

CircuitPythonのダウンロード

ダウンロードしたUF2ファイルを”RPI-RP2”ドライブにコピーします。一旦”RPI-RP2”ドライブとして認識されなくなりますが、すぐに”CIRCUITPY”ドライブとして認識されます。

フォルダ直下にある”code.py”が常時実行されるプログラムです。初期状態だと”code.py”は以下のようなコードが書き込まれています。

print("Hello World!")

以上でCircuitPythonのインストールは完了です。

Thonnyのインストール

ThonnyはPythonの統合開発環境です。Raspberry Pi Picoのページに紹介されていたため、今回はThonnyを使用します。

大きく以下の3つの手順を踏みます。

  1. 以下のURLからThonnyをダウンロードする。
  2. Thonnyをインストールする。
  3. Raspberry Pi PicoのPythonプログラムが動いていることを確認する。

上記のURLにアクセスし、使用しているPCのOSにあったインストーラをダウンロードします。私の環境はWindowsなので、Windowsを選択しました。

Thonnyのダウンロード

インストーラを起動した後は、特にこだわりがなければ何も変更せずに”Next”を押してインストールを開始します。完了したら”Finish”ボタンを押して終了です。

Thonnyを起動した直後、PCの環境によっては右下の通信設定の部分が”ローカル Python 3”となっていることがあります。この場合は”CircuitPython”を選んでください。

Raspberry Pi Picoを接続していれば、シェルの部分の表示が以下の画面にようになります。このときのシェルはCircuitPythonのREPL状態となっています。

もし”CircuitPython”を選択することができない場合や、PCとRaspberry Pi Picoを接続しているにも関わらずThonnyとRaspberry Pi Picoの接続ができていない場合は、”インタプリタ設定”をクリックして、インタプリタの設定とポートの設定を確認してください。

続いて、Raspberry Pi Pico内のCircuitPythonプログラムを動かしてみます。”Ctrl-D”を押すとRaspberry Pi Picoのソフトウェアが実行され、Thonnyのシェルの表示が変わります。

上記で示したように”code.py”には”Hello World!”を表示するプログラムが書かれていましたので、シェルにも”Hello World!”と表示されています。

もし実行しているプログラムにエラーがあれば、シェルにエラーメッセージが表示されます。

以上でThonnyのインストールは完了です。

LEDの点滅

Raspberry Pi Pico上に実装されているLEDを点滅させます。

以下のコードはRaspberry Pi Picoのボード上に実装されているLEDを0.5秒間隔で点滅させるプログラムです。

import board
import digitalio
import time

led = digitalio.DigitalInOut(board.LED)
led.direction = digitalio.Direction.OUTPUT

while True:
    led.value = True
    time.sleep(0.5)
    led.value = False
    time.sleep(0.5)

上記のプログラムをThonnyに貼り付けます。この状態で”現在をスクリプトを実行”ボタンを押すと、Raspberry Pi Picoに一時的にプログラムが転送され、LEDが点滅し始めます。

この状態で一旦Raspberry Pi PicoからUSBケーブルを抜いて、再度差しなおしてもLEDは点滅しません。Raspberry Pi Pico上にプログラムが保存されていないためです。

Thonnyにコードを書いた状態で、”Ctrl-s”もしくはThonny上の”保存”ボタンを押します。

ファイルの保存場所を選択する画面が出てくるので、”CircuitPythonデバイス”を選択します。ここで”このコンピュータ”を選択すると、PC内にプログラムを保存することができます。

保存先のファイルとして”code.py”を選択して、”OK”ボタンを押します。

保存完了後、”Ctrl-D”を押すとRaspberry Pi Pico上のLEDが点滅し始めます。また、この状態で一旦USBケーブルを抜いて、再度差しなおすとLEDが点滅し始めます。code.pyが常時実行されていることが確認できました。

おわりに

今回はRaspberry Pi PicoをCircuitPythonで動かしてみました。Raspberry Pi PicoにCircuitPythonをインストールし、統合開発環境Thonnyを使ってプログラムを作成して、Raspberry Pi Pico上のLEDを点滅させました。

コメント

タイトルとURLをコピーしました