Raspberry Pi Pico実機レポート!

あっきぃです。本日リリースされたRaspberry Pi Picoのサンプルを太田さんからお借りしているので、レポートしていきます。

外観

外観の紹介。サンプルのため、製品版とは一部異なる場合があります。また、製品はピンヘッダーが未実装の状態で販売されます。

表面
裏面

Raspberry Pi PicoにMicroPythonを入れて使う

Raspberry Pi Pico上でMicroPythonを使うことができます。何かを簡単に動かしてみるならこれが一番手軽でしょう。

セットアップの方法はRaspberry Pi Picoのサイトで解説されているため、そちらを参照してください。

https://pico.raspberrypi.org/getting-started

また、プログラミングにはRaspberry Pi OSにバンドルされているThonnyを使うことができます。こちらも上記サイトのMicroPython documentation(PDF)の4章で説明されているので、これを参照してセットアップすると良いでしょう。MicroPythonの場合ファイルの送受信にはampyなどを利用しますが、Thonnyでもファイル保存ダイアログを通じてファイルの送り込みや取得ができるようになるため、用意しておくと便利です。

……本当はドキュメント見ろではなくてステップごとの解説ができると良いのですが、今回はひとまず簡易レポートということで端折らせてください……!

PCD8544 LCDを動かしてみる

手持ちのそれっぽいデバイスでMicroPythonで動かせそうなものを漁ってみたところ、大昔に買ったNokia 5110ことPCD8544 LCDが出てきたので、これを動かしてみることにしました。

まずは配線。Raspberry Pi PicoのSPI0ポートを使用しつつ、これ以外は適当なGPIOピンに差し込みました。

[pcd8544:pico(physical pin)]
Gnd: Pico GND (38)
BL : Pico GP28(34)
Vcc: Pico 3V3 (36)
Clk: Pico GP6 ( 9)
Din: Pico GP7 (10)
DC : Pico GP4 ( 6)
CE : Pico GP5 ( 7)
RST: Pico GP8 (11)

PCD8544用のMicroPython向けライブラリはGithubにあり、そのまま使う事ができました。

https://github.com/mcauser/micropython-pcd8544

pcd8544とpcd8544_fbの2つライブラリがあり、後者のほうが文字を書いたり図を描いたりしやすいので、これをインストールしますが、ThonnyのManage Packagesではインストールできません。pcd8544_fb.pyをRaspberry Pi上に用意して一旦Thonnyで開き、Raspberry Pico上に/lib/pcd8544_fb.pyとして保存することでファイルを転送して、インストールします。

テストプログラムは、リポジトリのexample/framebuf.pyを元にピン番号を書き換えるだけで動きます。ピン番号の書き換えは以下の通り。SPI0番を使うのでSPI(0)で初期化します。Pinの番号はGPの方の数字を指定します。

spi = SPI(0)
spi.init(baudrate=2000000, polarity=0, phase=0)
print(spi)
cs = Pin(5)
dc = Pin(4)
rst = Pin(8)

# if your pcd8544 has BL pin, uncomment this line.
bl = Pin(28, Pin.OUT, value=1)

lcd = pcd8544_fb.PCD8544_FB(spi, cs, dc, rst)

その後の描画テストは、処理の度にframebuf.fill(0)が挟まれており、ほとんどのテストが見えずに終わってしまうため、framebuf.fill(0)を削りつつ、順に描画している様子がわかるようにちょっと書き換えたものを用意しました。

実行結果はこの通りです。

動画で!

ソースコードは以下のURLで公開しています。

https://gist.github.com/Akkiesoft/c72034f89b9aa6a3bedd4994bd51676a

まとめ

新しいRaspberry Pi Picoをさわってみる記事でした。

4ドル(日本では500円前後になるようです。スイッチサイエンスさんでは550円とのアナウンスがありました)と安価なので、気軽に買って遊んでよし、積みボードにしても罪悪感薄しな感じで良いですね(こら)。

また、MicroPythonの豊富なライブラリが利用できるのはわりと強いのかなと思いました。ESPと比べると無線周りがない点が弱みのような気もしますが、無線はいらない場合も多々なので、これはこれでありなのではないかと思います。

Raspberry Pi Picoリリース

Raspberry Pi 財団は1月21日にRaspberry Pi Picoをリリースしました。

Raspberry Pi Pico

Raspberry Pi Picoは、初めての自社設計チップであるRP2040が搭載された低コストで高パフォーマンスなマイクロコントローラーボードです。133MHzで動作するデュアルコアのARM Cortex-M0+、256KBのRAMと2MBのフラッシュメモリ、30個のGPIOピンや、SPI・I2C・UART・12ビットADC・PWMなどの幅広いインターフェースが用意されています。

Raspberry Pi PicoはMicroPythonやC/C++でプログラミングでき、以下のサイトで取り扱い方やRaspberry Pi Picoの詳細なスペック情報が確認できます。

https://pico.raspberrypi.org/getting-started

Raspberry Pi Picoの価格は4ドルで、本日から各Raspberry Pi認定リセラーから発売されます。

https://www.raspberrypi.org/blog/raspberry-pi-silicon-pico-now-on-sale/