ラズパイPicoの使い方 CircuitPython&開発環境Thonny

ラズパイPicoの使い方 CircuitPythonの開発環境準備

「Raspberry Pi Pico」の使い方について、開発環境として手軽に導入できる「Thonny」を使用して、プログラム言語「Python(CircuitPython)」を使ったプログラミング方法について、環境づくりからサンプルプログラム(コピペ)による動作確認まで詳しく紹介します。

ライブラリの追加方法についても、液晶表示器SSD1306の動作に必要なライブラリを追加する方法を例に、サンプルプログラム(コピペ)を使って動作確認まで紹介しています。

開発環境「Thonny」とは「ラズベリーパイ」の上位機種にも標準でインストールされている開発環境です。エディタの機能は物足りないですが、手軽に導入できて特に初心者の方がお試しするには最適と思います。

「Raspberry Pi Pico W」で「CircuitPython」を使用したWi-Fi通信を使用した遠隔操作、データ表示の方法は以下のリンクで詳しく紹介しています。

ラズパイPicoW Wi-Fi通信、遠隔操作&表示 CircuitPython編
Raspberry Pi PicoWのWi-Fi通信機能を使用してサーバー機能を利用した遠隔操作、データ監視する方法をCircuitPythonで詳しく紹介します。

「Raspberry Pi Pico」についての仕様や端子配列、基本的なプログラム、もう1つの「Python」互換のプログラミング言語「MicroPython」での開発環境の準備については以下のリンクで詳しく紹介しています。

ラズパイPico/PicoWの使い方を3つの開発環境Python、ArduinoIDE、PlatformIOで紹介
Raspberry Pi Pico/Pico Wの使い方を端子配列からPython(MicroPython)とC言語の開発環境、Lチカ方法まで紹介。PythonはTonny、C言語はArduinoIDEとPlatformIOの3種類で詳しく紹介します。
ラズパイPico基本プログラムPython編(Lチカ,入出力,アナログ,PWM)
Raspberry Pi Picoの基本的なLチカや入出力,アナログ入力(ADC),PWM出力を行うPythonのコピペ用サンプルプログラムをまとめました。
ラズパイPicoの使い方 MicroPython&開発環境Thonny、SSLエラーの対処方法も紹介
Raspberry Pi Picoので開発環境Thonnyを使用した「Python(MicroPython)」でのプログラミング方法について初期設定からパッケージ(ライブラリ)の追加、動作確認の方法まで詳しく紹介します。
※2022/11/19 時点の情報です。今後のバージョンアップにより手順が異なる可能性があります。また、OSはWindows10でのインストール方法の紹介となります。
スポンサーリンク

1.CircuitPythonとは

「CircuitPython」とはマイコンボード(マイクロコントローラ)上での動作に最適化された「Python3」と互換性のある「MicroPython」から派生した、教育および初心者向けのオープンソースのプログラミング言語です。

「Adafruit社」が開発を支援しており、同社のマイコンボードはもちろん「Raspberry Pi Pico」でも使用できます。

「CircuitPython」の開発環境の特徴は、マイコンボードをパソコンと接続した時にUSBメモリのように認識できてマイコンボード内のデータを操作できることです。
マイコンボード内のデータをフォルダとして開いて操作できるため、メモ帳や他のエディタで作成したプログラムを直接このフォルダ内に置くことで実行できたり、ライブラリや参照データを保存したりすることができます。

「CircuitPython」の公式サイトは以下のリンクになります。

CircuitPython
The easiest way to program microcontrollers
スポンサーリンク

2.開発環境 Thonnyのインストール方法

以下から「Thonny」のインストール方法について画像多めに順番に詳しく紹介していきます。

まず「Thonny」で「Python」のプログラムを動作させるために「Python」をインストールしておく必要があります。
インストールがまだの方は以下のリンクを参考にインストールしてください。
既にインストール済みの方は次へ進んでください。

pythonのダウンロードからインストール方法の紹介
人気のプログラミング言語 python のインストール方法の紹介です。python はアプリ開発やWebサイト構築、ディープラーニングにも使用されますが、マイコンボードの統合開発環境「Platform IO」のインストールにも必要です。

次に開発環境「Thonny」をインストールします。以下のリンクをクリックしてください。

下画像のようなページが表示されるので、画面右上あたりの「Download〜」の中からパソコン環境に合わせてダウンロードしてください。

ラズパイPico Thonnyのインストール方法

Windowsの場合はWindowsをクリックします。

ラズパイPico Thonnyのインストール方法

上図のようなウインドウが表示されます。
最近のパソコンなら「64bit」だと思うので一番上をクリックします。「32bit」ならその下をクリックします。

ラズパイPico Thonnyのインストール方法

ファイルのダウンロードが始まるので少し待ちます。
上画像はブラウザが「Edge」の場合の例です。

ラズパイPico Thonnyのインストール方法

ダウンロードが終了したらファイルを開きます。
ファイルはダウンロードフォルダに保存されているので、そちらから直接開いてもOKです。

ファイルを開くと下画像のようなウインドウが開くので矢印の箇所をクリックします。
(クリックする方は「自分にだけインストール(推奨)」するというものです。
全てのユーザーに対してインストールする場合はその下をクリックしてください。)

ラズパイPico Thonnyのインストール方法

下画像のようにインストール画面が表示されますが基本的には「Next」をクリックしていくだけです。

デスクトップにショートカットを置くためのチェックはしておいた方が良いので5ページ目のチェックボックスはチェックしてから進めましょう。
ラズパイPico Thonnyのインストール方法
ラズパイPico Thonnyのインストール方法
ラズパイPico Thonnyのインストール方法
ラズパイPico Thonnyのインストール方法
ラズパイPico Thonnyのインストール方法

上画像の画面ではチェックボックスをチェックして、アイコンをデスクトップに置くようにしましょう。

ラズパイPico Thonnyのインストール方法

上画像の画面で「Install」をクリックするとインストールが始まります。

ラズパイPico Thonnyのインストール方法
ラズパイPico Thonnyのインストール方法

最後に「Finish」をクリックしてインストール完了です。

スポンサーリンク

3.ラズパイPicoとパソコンの接続

次に「Raspberry Pi Pico」とパソコンをUSBケーブルで接続します。

接続する時は下画像のように「BOOTSEL」ボタンを押しながら接続しましょう。
接続したらちょっと(数秒)待ってからボタンを離しましょう。
ラズパイ(Raspberry Pi) Pico Python開発環境準備

「BOOTSEL」ボタンを押しながら接続して、パソコンに認識されると下画像のように「RPI-RP2」フォルダが開きます。

ラズパイ(Raspberry Pi) Pico Python開発環境準備
この作業は初回のみ行います。
初期設定が完了したら次からはUSBケーブルを接続するだけです。
開発環境を変えたり、ラズパイPico本体を初期化した場合には再度同じ作業を行います。

4.Thonnyの起動と CircuitPythonプログラム環境の準備

次に開発環境「Thonny」を起動します。
「デスクトップ」に下画像のようなアイコンがあるのでクリックします。

ラズパイ(Raspberry Pi) Pico Thonnyの使い方

「Thonny」が起動するので下画像のように初期設定を行います。

ラズパイ(Raspberry Pi) Pico Thonnyの使い方

「Language」を「日本語」に、「Initial settings」を[Raspberry Pi]に設定します。

ラズパイ(Raspberry Pi) Pico Thonnyの使い方

上画像のように設定できたら「Let`s go!」をクリックします。

「Thonny」が起動して下画像の開発画面が表示されるたら右下の矢印部(表示内容は異なる場合があります。)をクリックします。

ラズパイPicoの使い方 CircuitPythonの開発環境準備

下画像のように画面右下に表示されるリストの中から[Install CircuitPython]をクリックします。

ラズパイPicoの使い方 CircuitPythonの開発環境準備

下画像のようなウインドウが表示されるので「CircuitPython」のプログラミング環境をインストールしていきます。

ラズパイPicoの使い方 CircuitPythonの開発環境準備

上画像のドロップダウンボタンをクリックします。

ラズパイPicoの使い方 CircuitPythonの開発環境準備

表示されるリストの中から[Raspberry Pi・Pico/Pico H]をクリックします。

「Pico W」の場合は[Raspberry Pi・Pico W/Pico WH]を選択します。
ラズパイPicoの使い方 CircuitPythonの開発環境準備

「version」は自動で選択されるので、そのまま「インストール」ボタンをクリックします。

ラズパイPicoの使い方 CircuitPythonの開発環境準備

インストールが終わるまでしばらく待って、左下に「Done!」と表示されたら完了です。
「閉じる」をクリックします。

正常にインストールが完了すると「Raspberry Pi Pico」がUSBメモリのように認識されて、下画像のような「CIRCUITPY」フォルダが開いてきます。

フォルダの内容はバージョンによって異なる場合があります。
ラズパイPicoの使い方 CircuitPythonの開発環境準備

このフォルダを開くことで「Raspberry Pi Pico」内のデータを操作することができます。
フォルダ内の「lib」フォルダはライブラリファイルを保存しておくフォルダです。
「code.py」が実行される「CircuitPython」のプログラムファイルです。

フォルダ内にはバックアップとして複数のプログラムファイルを保存しておくこともできますが、「Raspberry Pi Pico」単体で電源を入れて動作させる時には「code.py」として保存したファイルしか実行されません。
また、動作がおかしくなった時等で初期化すると全て消えてしまうため、バックアップはパソコン内に保存するようにしましょう。

「CircuitPython」の開発環境の準備が整ったら下画像のように右下部をクリックすると[CircuitPython(ジェネリック)]が選択できるためクリックして選択します。(COM番号はパソコンごとに異なります。)

ラズパイPicoの使い方 CircuitPythonの開発環境準備

下画像のように右下に「CircuitPython(ジェネリック)」と表示されていれば開発環境の準備は完了です。

ラズパイPicoの使い方 CircuitPythonの開発環境準備

5.サンプルプログラム(Lチカ)で動作確認

開発環境が整ったらサンプルプログラムで動作確認を行います。
サンプルプログラムとして、ラズパイ本体のLEDを点滅させる「Lチカ」プログラムを準備しました。

「Thonny」開発画面に以下のサンプルプログラムをコピペで貼り付けてください。
※プログラムのコピーは下の黒塗り部の右上アイコンクリックでもできます。

import digitalio
from board import *
import time

led = digitalio.DigitalInOut(LED)
led.direction = digitalio.Direction.OUTPUT  # LED端子をledとして出力に設定
while True:  # ずっと繰り返し
    led.value = True   # LEDを点灯
    time.sleep(0.5)    # 0.5秒待つ
    led.value = False  # LEDを消灯
    time.sleep(0.5)    # 0.5秒待つ

プログラムを貼り付けた画面は下画像のようになります。

ラズパイPicoの使い方 CircuitPythonのサンプルプログラム

プログラムを貼り付けたら、下画像の「保存」ボタンをクリックします。

下画像のようなウインドウが表示されます。
今回はラズパイPico本体にプログラムを保存したいため「 CircuitPythonデバイス」の方をクリックします。

ラズパイPicoの使い方 CircuitPythonのサンプルプログラム

下画像のようなウインドウが表示されるので「code.py」を選択して「OK」ボタンをクリックしてください。

ラズパイPicoの使い方 CircuitPythonのサンプルプログラム

「上書く?」とフレンドリーにw聞いてくるので「はい」をクリックしましょう♪

ラズパイPicoの使い方 CircuitPythonのサンプルプログラム
ファイル名を「code.py」として保存することで、電源を入れた時に「code.py」のプログラムが実行されるようになります。
「code.py」以外の名前で保存したものは、パソコンに接続して「Thonny」から開くことはできますが「Thonny」で実行させた時のみ動作します。
ラズパイ単体で動作させたいプログラムは「code.py」に保存しましょう。

ファイルの保存が終わったら、下画像のように「実行」ボタンをクリックします。

ラズパイPicoの使い方 CircuitPythonのサンプルプログラム

下画像のようにラズパイ基板上のLEDが0.5秒ごとに点滅するのが確認できると思います。

LED点灯
(Raspberry Pi) Pico Lチカ動作確認
LED消灯
ラズパイ(Raspberry Pi) Pico Lチカ動作確認

プログラムについて、LEDを点灯させるプログラムについて簡単に紹介します。

led.value = True  # LEDを点灯
 Trueが点灯で、Falseが消灯です。
time.sleep(0.5)   # 0.5秒待つ

 カッコ内の数値で待機時間を設定できるため、この数値を変更するとLEDの点滅間隔を設定できます。

「CircuitPython」で使用できるコマンドについての詳細は以下リンクの公式サイトで確認できます。
当サイトでも少しづつ紹介していきたいと思います。

5.プログラムの保存方法

・ラズパイPico単独で動作させるための保存方法

ラズパイPicoに電源を入れた時に単独で動作させたいプログラムは、データを保存する時に選択する保存先を下画像のように「CircuitPythonデバイス」を選択して、ファイルを「code.py」に保存します。

ラズパイPicoの使い方 CircuitPythonのサンプルプログラム
「code.py」以外の名前で保存したものは、パソコンに接続して「Thonny」から開くことはできますが「Thonny」で実行させた時しか動作しません。

・バックアップデータの保存方法

プログラムファイルのバックアップ等の保存はラズパイPico本体内にも保存できますが、本体に異常があった時等で初期化した時に消えてしまうため、パソコン側に保存しておくことをおすすめします。

パソコンへの保存は以下のように行います。
まず、プログラムが実行中であれば「停止」ボタンを押してプログラムの実行を停止します。

ラズパイPicoの使い方 CircuitPythonのサンプルプログラム

次に下画像のように[ファイル]→[名前を付けて保存]をクリックします。

ラズパイPicoの使い方 CircuitPythonのサンプルプログラム

下画像のウインドウが表示されたら「このコンピュータ」を選択します。

ラズパイPicoの使い方 CircuitPythonのサンプルプログラム

パソコン内で自分が保存したい保存先を選択して、わかりやすい名前(ここではblink.pyとしています)を付けて「保存」をクリックします。

保存が完了すると、下画像のようにタブの部分が保存したファイル名に変わります。

ラズパイPicoの使い方 CircuitPythonのサンプルプログラム

下画像のようにLチカのサンプルプログラムの点滅時間を0.5秒から1.0秒に変更して「実行」ボタンを押すとラズパイPicoの動作が変更されて実行されます。
この段階ではパソコン内に保存したプログラムが実行されている状態です。

ラズパイPicoの使い方 CircuitPythonのサンプルプログラム

パソコン内に保存して実行していたプログラムをラズパイ単体で動作するようにしたい時には、本体の「code.py」を開いて、コピペで置き換えて保存しなおします。
まずは「停止」ボタンを押して実行を停止します。

ラズパイPicoの使い方 CircuitPythonのサンプルプログラム

次に、下画像のように「ファイルを開く」ボタンを押します。

ラズパイPicoの使い方 CircuitPythonのサンプルプログラム

下画像のウインドウが表示されたら「CircuitPyhtonデバイス」を選択します。

ラズパイPicoの使い方 CircuitPythonのサンプルプログラム

ラズパイPico本体内のデータが表示されるので「code.py」を選択して「OK」ボタンを押します。

ラズパイPicoの使い方 CircuitPythonのサンプルプログラム

すると下画像のようにパソコン内に保存した「blink.py」とラズパイPico本体内に保存されている「code.py」がタブで切り替えて表示できるようになります。

ラズパイPicoの使い方 CircuitPythonのサンプルプログラム

この状態で「blink.py」の内容を「code.py」にコピペして置き換えることでラズパイPico本体のプログラムを置き換えることができます。

この状態でパソコン内に保存したデータを編集しながら動作確認をして、問題なく動作することが確認できてからラズパイPico本体内の「code.py」を置き換えるようにすると、効率よくプログラミングができると思います。
パソコン側のプログラムは必要に応じて何パターンか作成して、最も良い動作のもので置き換えるようにするとさらに効率が良いと思います。

7.ライブラリの追加方法

より複雑なプログラムを簡単に作成するために必要なライブラリを使用する方法を紹介します。
ライブラリファイルはラズパイPico本体内の「lib」フォルダに保存することで使用可能なため、必要なファイルを準備して「lib」フォルダに追加していきます。

例として、液晶表示器(OLED)として一般的なAdafruit社製のSSD1306の動作に必要なライブラリを追加する方法で紹介します。

・ライブラリのダウンロードと追加方法

まずは、ライブラリファイルをダウンロードします。
以下のリンクからAdafruit社のライブラリダウンロードページを開いてください。

CircuitPython - Libraries
The easiest way to program microcontrollers

英語ですが下画像のようなサイトが表示されます。

ラズパイPicoの使い方 CircuitPythonのライブラリ追加

下へスクロールすると下画像のようなダウンロードボタンがあるのでバージョンを確認してクリックしてください。

ラズパイPicoの使い方 CircuitPythonのライブラリ追加
バージョンが「8.X.X」の場合は上画像の「Bundle for Version 8.x」の方をクリックしてください。

バージョンは「Thonny」を起動した時に画面下の「シェル」部で確認できます。
下画像では「CircuitPython 7.3.3」と表示されているのでバージョンは「7」です。

ラズパイPicoの使い方 CircuitPythonのライブラリ追加

ダウンロードボタンをクリックするとダウンロードが始まるのでしばらく待ちます。

ラズパイPicoの使い方 CircuitPythonのライブラリ追加

ダウンロードが完了したら上画像のようにファイルを開きます。(画面はEdgeの場合の表示です。)
ダウンロードしたファイルは「ダウンロード」フォルダにあるため、そこから開いても大丈夫です。

ラズパイPicoの使い方 CircuitPythonのライブラリ追加

ファイルを開くと圧縮ファイルが展開されるのでしばらく待ちます。

ファイルの展開が終わると「ダウンロード」フォルダに下画像のようなフォルダができています。

ラズパイPicoの使い方 CircuitPythonのライブラリ追加

フォルダを開くと下画像のようなデータが表示されます。
この中で「lib」フォルダの中にライブラリファイルが入っています。

ラズパイPicoの使い方 CircuitPythonのライブラリ追加

この「lib」フォルダの中のライブラリファイルを、ラズパイ本体の「lib」フォルダにコピーすることで使用できるようになります。

コピーする時は下画像のようにダウンロードした「ライブラリフォルダ」と「ラズパイ内部フォルダ」を並べておくと作業がしやすいです。

ラズパイPicoの使い方 CircuitPythonのライブラリ追加

次から実際に液晶表示器SSD1306を使用することを例に、ライブラリの追加方法を紹介します。

・動作確認の準備(液晶表示器SSD1306の配線方法)

まずはラズパイ本体と液晶表示器SSD1306の配線方法について紹介します。

「Raspberry Pi Pico」の端子配列は以下のようになります。(公式サイトより抜粋

ラズパイ(Raspberry Pi) Pico 端子配列

配線方法はブレッドボードを使用して下画像のように行いました。

ラズパイPico CircuitPythonで液晶表示

「Raspberry Pi Pico」本体の1番端子とブレッドボードの1番ピンを合わせておくと端子番号の確認がしやすいです。
「SSD1306」と「Raspberry Pi Pico」は以下表のように接続します。

SSD1306Raspberry Pi Pico
VCC3V3(OUT)
GNDGND
SDAGP16
SCLGP17

今回使用したブレッドボードはサンハヤト製の6連結ピンのものです。
安価なものはありますが 5連結ピンのものが多く、ピンが少ないため今回のような使い方はできません。少し割高ですが6連結ピンの方が自由度があっておすすめです。

液晶表示器SSD1306は今回は画面サイズ「128×64」のものを使用しました。
個人的には表示色は白色が一番見やすくて綺麗と思います。

「Raspberry Pi Pico」は単体で買うと端子がついていません。
ピンヘッダーを別で買ってはんだ付けする必要がありますが、ピンヘッダーは細ピンヘッダーが差しやすくて使いやすいです。
ハンダ付が不安な方はハンダ付け済みのものを購入しましょう。

・液晶表示器SSD1306のサンプルプログラム(コピペ)で動作確認

液晶表示器SSD1306で画面を表示するサンプルプログラムを以下に準備しました。
「Thonny」に「コピペ」して実行してみてください。

※下コード(黒枠)内の右上角にある小さなアイコンのクリックでコピーできます。

import board
import busio
import digitalio
import adafruit_ssd1306

# I2C 通信設定
i2c = busio.I2C(board.GP17, board.GP16)  # (SCL端子, SDA端子)

#  液晶画面設定
display = adafruit_ssd1306.SSD1306_I2C(128, 64, i2c, addr=0x3C) # 画面サイズ幅,  高さ, 通信仕様, デバイスアドレス

#  画面表示
display.fill(0) # 画面表示初期化

# 文字表示("表示内容", x座標, y座標, 色, フォント, サイズ[倍率])
display.text("OLED TEST SSD1306", 13, 0, True, font_name="font5x8.bin", size=1)
display.text("Hello!!", 25, 32, True, font_name="font5x8.bin", size=2)
# 線の描画(始点x, 始点y, 終点x, 終点, 色)
display.line(0, 9, 128, 9, True)
# 四角の描画(x座標, y座標, 幅, 高さ, 色)
display.rect(5, 20, 118, 40, True)

display.show()  # 画面表示実行

「Thonny」の画面にサンプルプログラムを貼り付けたものは下画像のようになります。
矢印部の実行ボタンを押して実行してみると、下の「シェル」部にエラーが表示されます。

ラズパイPicoの使い方 CircuitPythonのライブラリ追加

「ImportError」が発生し「adafruit_ssd1306」ライブラリが存在しないことを知らせていますので、必要なライブラリファイルをラズパイ本来の「lib」フォルダにコピーしていきます。

下画像のように「ライブラリフォルダ」と「ラズパイ内部フォルダ」を並べておくと作業がしやすいです。

まずはそれぞれの「lib」フォルダをクリックして開きます。

ラズパイ内部フォルダの内容はバージョンによって異なる場合があります。
ラズパイPicoの使い方 CircuitPythonのライブラリ追加

左のライブラリフォルダには300個以上のデータが入っています。
この中から目的の「adafruit_ssd1306」ファイルを探しましょう。(拡張子は.mpyです。)

ラズパイPicoの使い方 CircuitPythonのライブラリ追加

「adafruit_ssd1306.mpy」ファイルを見つけたらドラッグ&ドロップでラズパイ内部フォルダへコピーします。

ラズパイPicoの使い方 CircuitPythonのライブラリ追加

これでライブラリファイルの追加は完了です。

ラズパイPicoの使い方 CircuitPythonのライブラリ追加

再度「Thonny」で実行ボタンを押して実行してみましょう。

ラズパイPicoの使い方 CircuitPythonのライブラリ追加

また同じ「ImportError」が発生します。今度は「adafruit_framebuf」が無いことを知らせているため、同様にライブラリフォルダから探してラズパイ内部フォルダへコピーします。

ラズパイPicoの使い方 CircuitPythonのライブラリ追加

ライブラリファイルが追加されたことを確認します。

ラズパイPicoの使い方 CircuitPythonのライブラリ追加

再度「Thonny」で実行ボタンを押して実行してみましょう。

ラズパイPicoの使い方 CircuitPythonのライブラリ追加

今度は「OSError」が発生します。これは文字のフォントファイル「font5x8.bin」が無いことを知らせています。
「font5x8.bin」は別の場所にあるため下画像のように「ライブラリフォルダ」側の「上へ」ボタンを押します。

ラズパイPicoの使い方 CircuitPythonのライブラリ追加

ライブラリフォルダの「examples」をクリックします。

ラズパイPicoの使い方 CircuitPythonのライブラリ追加

「examples」フォルダには1000個以上のデータが入っているのでこの中から目的の「font5x8.bin」ファイルを探しましょう。

ラズパイPicoの使い方 CircuitPythonのライブラリ追加

「font5x8.bin」ファイルが見つかったらラズパイ側へコピーしますが、このファイルは「lib」フォルダではなくラズパイのプログラムファイル「code.py」が保存されている場所に置く必要があります。
このため、下画像のように「ラズパイ内部フォルダ」側の「上へ」ボタンを押します。

ラズパイPicoの使い方 CircuitPythonのライブラリ追加

右の「ラズパイ内部フォルダ」側に「code.py」があるのが確認できたら下画像のようにドラッグ&ドロップで「font5x8.bin」をコピーします。

ラズパイPicoの使い方 CircuitPythonのライブラリ追加

これで文字を表示するためのフォントファイルも準備できました。

ラズパイPicoの使い方 CircuitPythonのライブラリ追加

再度「Thonny」で実行ボタンを押して実行してみましょう。

ラズパイPicoの使い方 CircuitPythonのライブラリ追加

今度はエラーは発生せず、下画像のようなサンプル画面が表示されたと思います。

ラズパイPico CircuitPythonで液晶表示
今回は必要なライブラリがわからない前提でエラーが出る都度にファイルの追加を行いましたが、最初から必要なファイルがわかっている場合は最初にまとめて追加しておきましょう。

「CircuitPython」での液晶表示器SSD1306の使い方については、以下のリンクで詳しく紹介しています。

ラズパイPicoでSSD1306有機ELディスプレイの使い方 CircuitPython編
液晶表示器のないRaspberry Pi Picoで表示器OLED SSD1306を使う方法。今回は開発環境Tonnyを使用したCircuitPythonでの使用方法を紹介します。

8.ラズパイPico本体の初期化方法

いろいろな開発環境を試したりライブラリをインストールしたりしていると、思いどりに動かなかったり、動作がおかしくなったりして初期状態に戻したいと思うこともあると思います。

そんな時のためにラズパイPico本体を初期化する方法については以下のリンク先で紹介しています。

ラズパイPicoの使い方 MicroPython&開発環境Thonny、SSLエラーの対処方法も紹介
Raspberry Pi Picoので開発環境Thonnyを使用した「Python(MicroPython)」でのプログラミング方法について初期設定からパッケージ(ライブラリ)の追加、動作確認の方法まで詳しく紹介します。

9.まとめ

「Raspberry Pi Pico」で開発環境「Thonny」を使用した「CircuitPython」の開発環境について詳しく紹介しました。

開発環境の「Thonny」はエディタの機能が物足りないですが、気軽に導入できてお試しにはちょうど良いと思います。

「CircuitPython」の開発環境では、マイコンボードをパソコンと接続した時にUSBメモリのように認識され、マイコンボード内のデータを操作できます。
マイコンボード内のデータをフォルダとして開いて操作できるため、メモ帳や他のエディタで作成したプログラムを直接このフォルダ内に「code.py」として置くことで実行できたり、ライブラリや参照データを保存したりすることができます。

「CircuitPython」は「MicroPython」から派生した言語ということもあり、細かい設定ができそうな印象です。「Adafruit社」が開発を支援しているということもあり、同社の電子部品を使うために必要なサンプルプログラムがたくさん公開されていて色々遊べそうです♪

お試しするなら「MicroPython」で、がっつり遊ぶなら「Circuit Python」といったところでしょうか。
両方の開発環境が整ったところで、これから色々紹介していきたいと思います。

基本的なプログラムや「Raspberry Pi Pico W」で「CircuitPython」を使用したWi-Fi通信、遠隔操作、データ表示の方法は以下のリンクで詳しく紹介しています。

ラズパイPico基本プログラムPython編(Lチカ,入出力,アナログ,PWM)
Raspberry Pi Picoの基本的なLチカや入出力,アナログ入力(ADC),PWM出力を行うPythonのコピペ用サンプルプログラムをまとめました。
ラズパイPicoW Wi-Fi通信、遠隔操作&表示 CircuitPython編
Raspberry Pi PicoWのWi-Fi通信機能を使用してサーバー機能を利用した遠隔操作、データ監視する方法をCircuitPythonで詳しく紹介します。

「Thonny」を使用した「MicroPython」の開発環境の準備は以下のリンクで詳しく紹介しています。

ラズパイPicoの使い方 MicroPython&開発環境Thonny、SSLエラーの対処方法も紹介
Raspberry Pi Picoので開発環境Thonnyを使用した「Python(MicroPython)」でのプログラミング方法について初期設定からパッケージ(ライブラリ)の追加、動作確認の方法まで詳しく紹介します。

コメント

  1. 土田 より:

    ロジカラさん
    python初心者に的確なツール紹介をして頂き有難うございます。

    Thonny+micropythonで勉強を始めたのですが、本題(プログラム記述)に入る前に、開発環境等の煩わしさに頭が混乱しまい、やる気をそがれてしまいました。

    Thonny+Circuitpythonで本ページの手順に従って勉強し始めましたが、明らかにストレスを感じないで進めることが出来ました。

    Circuitpythonの造りとロジカラさんのページ構成のお蔭でラズパイpicoとpython習得を投げ出さずに済みそうです。

    有難う御座いました。

    • logikara より:

      土田さん初めまして、読んでいただきありがとうございます。

      自分が記事を書く時には使えるようになってから書くので、できるだけ初心に戻ったつもりで書くようにしてますが、長くなるばかりで伝わっているのか正直不安でした(汗)
      一人でも伝わっている方がいたのであれば嬉しい限り♪コメント感謝です!

      私もまだまだ勉強中、お互い頑張りましょう^^

  2. とんかつ より:

    お邪魔致します

    Adafruit CircuitPython 8.2.6 on 2023-09-12; Seeeduino XIAO RP2040 with rp2040
    とSSD1306の組みの
    https://logikara.blog/pico_thonny_micropy/#mokuji_7-3i2c
    の「液晶表示器SSD1306のサンプルプログラム(コピペ)で動作確認」を
    またまた、コピペさせて戴きました。

    でもこのscriptだと、同じ「2040」と言っても
    動きませんでした。

    枕の
    import board
    import busio
    の箇所を
    from board import *
    from busio import I2C に
    i2c = busio.I2C(board.GP17, board.GP16) を
    i2c = I2C(SCL,SDA)に
    したら、

    同じscriptで描画しました!!!

    しかし、官製の郵便葉書の料額印面(切手部分)
    位の大きさながら、LEDが眩しく賑やかな
    Xiao RP 2040 ですが
    Wifiに繋がないなら、これも面白いですね!!
    小さなブレッド・ボードでも半分余白がありますよ。

    ココに(今に)来る前に、(5年位前か)アルドウイーノを少し
    いじりましたが・・・どうも、私には理解しずらく、熱も冷め
    その後はずっと、ラズパイに触って居ます。

    一年に一回くらいのインターバルで
    無性に、ハンダ鏝を握りたくなるんですよね :)
    糸ハンダのリール(7・800g?)一巻をハンダ付けで
    消費したいのですが・・・
    ピンヘッダやpinソケットのハンダでは
    いくらも減らせません。 :)
    ユニバーサル基板にソケットを付け
    Picoは、抜き挿し出来る様にして、TFT液晶も
    抜き挿し出来る様にしました。
    ブレッドボード上のジャンパー線は安定しません。

    スクリプトの中を「切ったり貼ったり」
    コピペしたりしてして、オリジナルの動作を
    失わず、カツ私のカスタマイズを加えるべく
    『どんな記述でこうなるのか』をscriptを読みながら
    「切ったり貼ったり」してます。:)

    始めは、とにかくコピーです。

    でも、今は気圧計(EL液晶表示)と
    Webラジオ(ラズパイ同梱のVLCから出力しDACを
    通し綺麗な音で再生+1.8インチ液晶表示 で)は
    実用品になっていて、毎日利用しています。

    お邪魔しました。

    • logikara より:

      こんばんは^^
      XIAO RP2040も持って見えるのですね、しかし動かないのはなぜでしょう?
      私は持ってないので確認できないですが、前から気になってたデバイスで、あの小ささは魅力ですし、ちょうど新しい部品を色々とポチってたとこなのでついでにポチりました♪

      そろそろ次のネタを模索中だったので面白そうなら記事にしますね。
      しかし、ラズパイ系は人気ですね〜個人的にはM5Stack系のC言語が好きなんですけど・・・やっぱりpythonだからでしょうか?

      とんかつさんは日々挑戦して成長してるようで、私も負けてられませんね。
      今まで好き放題書いてきましたが、ほぼ書きたいことは書いたので、次は何を書こうかな〜と停滞中^^;
      とりあえず手持ちの部品の使い方紹介でもしときます。
      お互い楽しみましょう♪

  3. とんかつ より:

    お邪魔します

    ネット検索中に[ Pico DAC ]の文字を見つけました。

    秋月に部品のオーダーがあったので、(Ver.1の)商品を、
    ついでに、購入して見ました。

    商品は、基板とパーツセットで合計1430円でした。
    (他に勿論Picoが必要ですが、基本的に他に必要なパーツは
    無しです。Picoはこのセットには含まれていません)

    既に、Ver.2が発表されていました。
    慌てて、発注したので Ver.2 が有ることは知りませんでした。

    ともかく、今日配達になったので
    早速、ハンダ付けを楽しみました :)
     ゆっくりと、checkしながら6時間位楽しみました。

    音も、一発で出ました。
    ハンダ付けは、細かすぎることも無く良く出来たキットです。

    Picoを載せ、Bootボタンを押しながら、PCと接続。
    予めダウンロードして措いた[ uf2ファイル ]を
    ドラッグ&ドロップし
    後は、そのまま、PCから何か、
    (CDでも、ラジコでも、等汁等汁でもmp3ファイルでも、お好きなモノを)再生すれば
    基板に挿した、イヤホンorヘッドフォンから、綺麗な音が
    再生されます。

    大きなヘッドフォンも余裕でドライブします :)

    オーディオの世界は、「沼に入ると」上がありません。

    でも、このPic-DACで、充分です。
    私もいくつか廉いDACを持っていますが・・・
    ハンダ付けを楽しんで、¥1430で、この音も楽しめれば
    充分です :)
    美味しい外食、一食分で、充分楽しめ、今後も
    『良い音』が。楽しめるので、言う事ありません :)
    基板の裏は、剥きだしなので、適当なケースに
    入れ、長く利用で出来そうです。

    Pic-DAC 特設ページ
    https://interface.cqpub.co.jp/pico_dac/

    ココに、利用できる[ uf2ファイル ]が有ります

    CQ出版社・・懐かしい。。昔、CQHam Radio を随分買いました。

    Pico で、音も楽しめるのですね!

    失礼しました。

    • logikara より:

      こんばんわ^^
      DACですか〜私は動くものが好きなのでDACはチャレンジしたことがありません(汗)
      Interfaceはたまに買ってるので、このDAC基板は見かけた覚えはありますがスルーしてました・・・

      電子工作も楽しみ方は人それぞれですね♪
      お互い楽しみましょう。

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