「Raspberry Pi Pico」の上位機種として「Pico2」が登場しました。
端子配列はそのままで処理速度の向上や、メモリ容量の増加等、性能アップした「Pico2」について、「Pico」との違いや、基本仕様、プログラミング言語に「Python(MicroPython)」を使用した、開発環境(Thonny)のインストールから初期設定、Lチカ(LEDランプの点滅)で動作確認を行う方法まで詳しく紹介していきます。
基本的な使用方法やプログラムについては前モデルの「Pico」と同じです。
「Pico」の使い方「C言語」を使用した開発環境の準備等は以下のリンクで詳しく紹介しています。
1.「Raspberry Pi Pico2」とは
2.「Pico2」と「Pico」の違い
・主な変更点比較表
・外観
・ファームウェアの違い
・価格
3.基本仕様、端子配列、端子機能
4.開発環境(Thonny)の使い方
・インストール
・初期設定
5.Lチカで動作確認(MicroPython)
・サンプルプログラム(コピペ)
・動作確認
・プログラムの保存方法
・「Pico2」単体でプログラムを実行する方法
・プログラムの削除方法
6.「Pico2」本体の初期化方法
7.まとめ
1.「Raspberry Pi Pico2」とは
「Raspberry Pi Pico2」とは、イギリスを拠点とする慈善団体によって若者のプログラミング学習を目的に開発されたもので「Raspberry Pi Pico」の上位機種です。
パソコンのように使える「Raspberry Piシリーズ」のようにOSを搭載する機能はありませんが、電源投入ですぐに使用でき、スイッチやLEDランプ、モーター、各種センサー、通信機器を接続して、それらを制御するプログラムを簡単に作成して動作確認できるため、組み込み(制御)系プログラミングの学習に最適です。
プログラミング言語には「C言語」と「Python」が使用でき、開発環境も豊富です。
本体に実装されているLEDを点灯させたり、モーターや表示器を接続してプログラムで実際に制御しながら、手軽にプログラミング学習ができるため、プログラミング初心者の学習用途に最適なマイコンボードです。
2.「Pico2」と「Pico」の違い
「Pico2」と「Pico」は基本的な使い方や機能、端子配列、寸法は同じですが処理速度やメモリ容量がアップしました。
・主な変更点比較表
主な変更箇所は以下表のようになります。
項目 | Pico2 | Pico1 |
---|---|---|
コントローラ | RP2350 | RP2040 |
CPU | デュアルコア Arm Cortex-M33 または Hazard3(RISK-V)を選択して使用可能 最大150MHz | デュアルコア Arm Contrex M0+プロセッサ 最大133MHz |
メモリ Flash / SRAM | 4MB / 520kB | 2MB / 264kB |
コントローラが「RP2350」に変更され、CPUはデュアルコアの「Arm Cortex-M33」またはデュアルコアの「RISC-V Hazard3」 を選択して使用することができるようになりました。
クロック速度は「133MHz」から「150MHz」となり、より高速な処理が期待できます。
Flash/SRAMメモリ容量が2倍に増えたことで、それぞれ以下のようなメリットがあります。
- Flashメモリ:より大規模なプログラムや、複数のプログラムを同時に格納できるようになり、複雑な処理や多機能なアプリケーションの実現が可能になります。
- SRAM:作業領域が拡大され、プログラムの実行中に必要なデータをより多くメモリ上に保持できるため、データの読み書きにかかる時間が短縮され、処理速度が向上します。
・外観
「Pico2」と「Pico」の外観を比較すると下画像のようになります。
一見見分けがつきませんが「Pico2」の表面にはPico2と大きく表示されているため、わかりやすいです。実装部品は「Pico2」の方が少し増えていますが、基板寸法は同じでBOOTボタンやLED(緑)の位置も同じです。
裏面は端子機能が同じで、端子番号のシルク印刷も同じなので見分けるのは難しいです。
・ファームウェアの違い
「Pico2」と「Pico」ではファームウェアが異なります。
MUエディタ等、他の開発環境を使用する場合は個別にインストールしてください。
「Pico2」の「MicroPython」用ファームウェアは以下のリンクからダウンロードできます。
リンクをクリックすると以下のようなページが表示されます。
下へスクロールすると、下画像のようにファームウェアのダウンロードリンクがあるので最新版をダウンロードしましょう。
ファームウェアのインストール方法は前モデルの「Pico」と同じため、以下のリンクを参照してください。
・価格
価格は2024/11/9の時点で「スイッチサイエンス」で「Pico2」が ¥990「Pico」が ¥836と差はありますが、処理能力の違いを考えると「Pico2」はかなりお得に感じます。
Amazonでも購入可能です。割高ですが端子が実装されていたり、ケーブル等が付属していたりするので初回購入時には良いのではと思います。
3.基本仕様、端子配列、端子機能
基本仕様
「Raspberry Pi Pico2」の基本仕様は以下表のようになります。
コントローラやCPU、メモリ以外の基本仕様は前モデルの「Pico」と同じです。
項目 | Pico2 |
---|---|
コントローラ | RP2350 |
CPU | デュアルコア Arm Cortex-M33 または Hazard3(RISK-V)を選択して使用可能 最大150MHz |
メモリ Flash / SRAM | 4MB / 520kB |
電源電圧(VBUS) | DC5V±10% |
USB | Micro USB Type-B |
入出力 | 多機能GPIO x 26 (3つはADCとしても使用可能) |
通信機能 | UART x 2 / I2C x 2 / SPI x 2 |
無線通信機能 ※Pico Wのみ | Wi-Fi (2.4 GHz)/Bluetooth |
その他機能 | ADC(12bitアナログコンバータ) x 3 PWM x 16 |
電源電圧 | DC5V±10% |
動作温度範囲 | -20℃〜85℃(内部発熱を含む) |
寸法 | 21 x 51 (mm) |
端子配列
端子配列は前モデルの「Pico」と同じで下画像のようになります。
公式サイトより抜粋
端子機能
上記端子配列の中の各端子の機能について、端子記号ごとに以下表にまとめました。
記号 | 機能 | 詳細 |
---|---|---|
GP0〜22, 26〜28 | 入出力 | 入力端子、出力端子としてプログラムで設定できます。 プルアップ抵抗無し、プログラムでプルアップ指定可 |
ADC0〜2 | AD変換 | 12bit アナログデジタルコンバータ |
I2C0,1 | 同期通信 | I2C通信用端子で、以下の2つの信号線を使って通信を行います。 ・SDA:データ送受信用 ・SCL:クロック(通信タイミング)信号用 マスター側から送信したクロック信号のタイミングでスレーブ側と通信するため、 同期通信と呼ばれます。 |
SPI0,1 | 同期通信 | SPI通信用端子で、以下の4つの信号線を使った通信を行います。 ・TX:データ送信用 ・RX:データ受信用 ・SCK:クロック(通信タイミング)信号用 ・CSn:スレーブが複数ある場合の通信先選択用 通信したいスレーブ機器のCS(SS)端子をLowに制御して通信を行います。 I2Cと同じ同期通信ですが、データ信号線とクロック信号線が別なのでI2Cより高速な同期通信が可能です。 |
UART0,1 | 非同期通信 | UART通信用端子で、SPI/I2C通信とは異なり、通信タイミングに必要なクロック信号が無いため、非同期通信と呼ばれます。 UART通信では以下の2つの信号線を使って通信を行います。 ・TX:データ送信用 ・RX:データ受信用 2つのデバイス間で、送信端子と受信端子を互い違いに接続します。 I2CやSPI通信とは異なり、マスター/スレーブのような関係はありません。 クロック信号が無いので、送受信するデバイス間で同じ通信速度(ボーレート)を 設定しておく必要があります。 よく使用される通信速度は以下になります。 1200 /2400 /4800 /9600 /19200 /38400 /57600 /115200 (単位:bps) |
VBUS | USB電源 | USBのDC電圧が出力されます。 |
VSYS | 内部制御用3.3V 電源生成用電源 | 制御用の3.3V電源生成用の電圧(1.8V〜5.5V)を別電源から供給したい場合に使用。 内部バックブーストコンバータ(RT6150B-33GQW)の入力電源。 |
3V3_EN | 内部制御用3.3V 電源生成有効無効選択 | 未接続で有効、GNDに接続で無効。 |
3V3(OUT) | 内部制御用3.3V 電源外部出力 | 3.3Vの外部出力電源として使用可能。 (最大出力電流はRP2350の負荷とVSYS電圧に依存します。このピンの負荷は300mA未満。) |
ADC _VREF | AD変換基準電圧 | アナログデジタル変換の基準電圧として使用可。 |
4.開発環境(Thonny)の使い方
ここでは「MicroPython」で「Pico2」のプログラム作成や実行を行うための開発環境「Thonny(ソニー)」のインストールから初期設定について詳しく紹介していきます。
「Thonny」は「Python」の開発環境として使用されますが「Pico2」や「ESP32」「micro:bit」等のマイクロコントローラの開発環境としても使用できます。
・インストール
「Thonny」のインストール方法について詳しく紹介していきます。
まずは、「Thonny」をダウンロードするために以下のリンクをクリックします。
下画像のようなページが表示されたら、ご使用のパソコンの環境に合わせて矢印部をクリックしてください。ここでは[Windows]をクリックします。
下画像のようなウインドウが表示されたら、お使いのパソコン環境に合わせてダウンロードファイルをクリックしてください。
最近のパソコンであれば矢印部の「64-bit」用で問題ないと思います。
以下のようにブラウザ画面にダウンロードの進捗ウインドウが表示されます。
ダウンロードが完了するまでしばらく待ちましょう。
ダウンロードが完了したら[ファイルを開く]をクリックします。
以下のようなウインドウが表示されたら、画面に従ってインストールしていきます。
上画像のように表示されたら[Next]ボタンをクリックします。
次の画面ではライセンス認証を行います。
「I accept the agreement」が選択されているのを確認して[Next]ボタンをクリックします。
次の画面ではデスクトップにショートカットアイコンを置くかどうかが選択できます。
置いておいた方が便利なのでチェックボックスを入れたまま[Next]ボタンをクリックするのをおすすめします。
インストールの設定が完了したので[Install]ボタンを押してインストールを開始します。
インストールが完了するまでしばらく待ちましょう。
上画像のような画面が表示されたらインストールは完了です。[Finish]ボタンをクリックして終了します。
以上で「Thonny」のインストールは完了です。
・初期設定
「Thonny」のインストールが完了したら初期設定として「MicroPython」の開発環境をインストールしていきます。
自動的にパソコンに認識されるはずです。
※新品状態なら本体基板上の[BOOTSEL]ボタンを押しながら接続する必要はありません。
確認するには「エクスプローラ」を起動します。
下画像のように「RP2350」が確認できれば問題なく認識されています。
パソコンと「Pico2」を接続したら、デスクトップにある下画像のようなショートカットアイコンをダブルクリックして「Thonny」を起動します。
下画像の様に「Thonny」が起動したら、ウインドウ右下の矢印部をクリックします。
下画像の様にメニューが表示されたら[MicroPythonをインストール]をクリックしてください。
以下の様に「MicroPython」をインストールするウインドウが表示されるので、インストールを進めていきます。
上画像の様なウインドウが表示されてしばらくすると、矢印部に「RP2350」が表示されるのが確認できると思います。
[MicroPython family]部のドロップダウンアイコンをクリックして表示されるメニューの中から[RP2]を選択します。
[Variant]部のドロップダウンアイコンをクリックして表示されるメニューの中から[Raspberry Pi Pico2]を選択します。
[Version]部は最新のものが選択されるため、特に理由がなければそのまま[インストール]ボタンをクリックします。
インストールが開始されるのでしばらく待ちましょう。
上画像のように、ウインドウ左下に「Done!」と表示されたらインストール完了です。
[閉じる]ボタンをクリックしてウインドウを閉じます。
「Pico2」とパソコンを接続しているUSBケーブルも一旦抜いて、再度接続しましょう。
「Pico2」とパソコンを再接続(BOOTSELボタンを押さないように注意)したら、ちょっと待ってから「Thonny」を再起動しましょう。
上画像の様に「Thonny」が起動して、ウインドウ下の[シェル]部にエラー(赤文字)が出ていなければ初期設定完了です。
5.Lチカで動作確認(MicroPython)
「Thonny」の初期設定が完了したら早速サンプルプログラムを使用して動作確認をしてみましょう。
・サンプルプログラム(コピペ)
「Thonny」を起動したら、開発画面にプログラムを書いて実行することができます。
今回は、この下にサンプルプログラムを準備しましたので、コピペ(コピー&ペースト)で下画像の様に貼り付けてください。
サンプルプログラムは以下になります。
コピーは下の黒塗り部右上のアイコンクリックでもできます。
from machine import Pin # 入出力モジュールを準備
import utime # タイマーモジュールを準備
led = Pin("LED", Pin.OUT) # LED端子をledとして出力に設定
while True: # ずっと繰り返し
led.value(1) # LEDを点灯
utime.sleep(0.5) # 0.5秒待つ
led.value(0) # LEDを消灯
utime.sleep(0.5) # 0.5秒待つ
・動作確認
サンプルプログラムを「コピペ」で貼り付けたら、下画像の矢印部のアイコンをクリックして実行してみましょう。
実行されると「Pico2」基板本体上のLED(緑)が下画像のように点滅するのが確認できると思います。
点滅時間はサンプルプログラム内の以下の部分で指定しています。
「0.5」の部分で時間を設定しているので、数値を変えて動作確認してみましょう。
動作を終了するには、下画像のように矢印部の[STOP]アイコンをクリックします。
以上で動作確認まで完了しました。
当サイトでは以下リンクのように「Pico」で「MicroPython」を使用したサンプルプログラムをいくつも公開しています。(CircuitPythonは初期設定が異なるのでご注意ください。)
「MycroPython」を使用したプログラミングについては、以下の公式サイトで英文ですが確認できます。ブラウザの翻訳機能で翻訳して確認してみましょう。
・プログラムの保存方法
作成したプログラムはパソコン上の任意の場所に保存できますが、「Pico2」本体にも保存(複数可)することができるため、この方法について紹介します。
下画像のように[保存]アイコンをクリックすると、保存先を選択するウインドウが表示されます。
今回は「Pico2」本体内に保存するので[Raspberry Pi Pico]ボタンをクリックします。
下画像のようなウインドウが表示されたら「ファイル名.py」のように「.py」をつけてファイル名を指定してから[OK]ボタンを押します。今回は「Lchika.py」としました。
保存が完了すると、下画像の様にプログラムコード入力エリアのタブ名がファイル名になり、保存されたことが確認できます。
ファイルを開くときは、下画像のように[ファイルを開く]アイコンをクリックして[Raspberry Pi Pico]ボタンをクリックします。
下画像のように本体に保存されているファイルの一覧が表示されるので、開くファイルを選択して[OK]ボタンを押すと、ファイルを開くことができます。
・「Pico2」単体でプログラムを実行する方法
「Thonny」のプログラム方式は「REPL(Read-Evaluate-Print Loop:対話型実行環境)」と呼ばれ、コードを入力して即座に実行結果を確認できます。
これにより、プログラムの動作をリアルタイムに確認しながら開発を進めることができます。
試しに今回の動作確認に使用したサンプルプログラム「Lchika.py」を「main.py」として保存して「Pico2」基板単体で動作確認してみましょう。
下画像の様に[新規ファイル]アイコンをクリックすると、開発画面に新しく「<無題>」タブが作成されるので、上のサンプルプログラムを「コピペ」で貼り付けます。
下画像のように[保存]アイコンをクリックして[Raspberry Pi Pico]ボタンをクリックします。
下画像のようなウインドウが表示されたら、ファイル名を「main.py」として[OK]ボタンを押します。
開発画面の「<無題>」タブが「main.py」に変わっていれば保存完了です。
「Pico2」をパソコンから外してUSBアダプター等で電源を供給すると、下画像の様に「Pico2」基板単体でLEDの点滅動作が確認できる様になります。
・プログラムの削除方法
「Pico2」本体に保存したファイルを削除するには下画像の様に、本体内のファイルを開いて、削除したいファイルの上で右クリックすると表示されるメニューから削除できます。
開発画面左に表示されているファイル一覧からも削除することもできます。
6.「Pico2」本体の初期化方法
「Pico2」の動作がおかしくなったり、ファイルを全て削除したい等で初期状態に戻したい場合もあると思います。
そんな時のためにラズパイPico本体を初期化する方法も紹介します。
以下のサイトにアクセスして、本体初期化用のファイルをダウンロードします。
表示されたページの一番下までスクロールすると、下画像のようなリンクがあるので「UF2 file」をクリックします。
クリックすると「flash_nuke.uf2」というファイルがダウンロードされます。
「Pico2」本体の「BOOTSEL」ボタンを押しながらパソコンと接続して認識された「RP2350」フォルダに、このファイルをドラッグ&ドロップするだけで初期化は完了します。
7.まとめ
「MicroPython」を使用した「Raspberry Pi Pico2」の使い方を詳しく紹介しました。
「Pico2」は「Pico」の上位機種で、端子配列や寸法、機能、プログラムの互換性は保ちつつ、CPUの処理速度は「133MHz」から「150MHz」にアップし、メモリは「Flash:4MB / SRAM:520kB」と2倍になりました。
価格は「Pico」より2割ほど高いですが、それでも1000円以下でコストパフォーマンスに優れた高機能なマイコンボードです。
開発環境には「Python」の開発環境「Thonny」を使用することで、ファームウェアを個別にインストールする必要はなく、初期設定のみでプログラム環境を準備することができます。
今回は基本的な使用方法ということで、プログラムは「Lチカ」だけでしたが、当サイトでは「Pico」のプログラムをいくつも公開しています。
「Pico2」と「Pico」はプログラムに互換性があり、同じ様に動作確認ができます。
以下のリンク先では、プログラムの解説もしながらサンプルプログラムを公開していますので「Python」の学習にも、ぜひ他のプログラムの動作確認にも挑戦してみてください。
コメント