Raspberry Pi Picoと一緒に、pimoroniのPico Display Packを購入しましたので紹介します。
これはLCD(240×135ピクセル、コントローラはST7789)と4つのタクトスイッチとRGB LED(NeoPixelではありません)がセットになったPicoの拡張ボードです。40ピンのソケットがついており、そこにPicoを挿して使います。
Picoに取り付けるとこんな感じです。ちなみにこのボードはピンソケットは最初から取り付けられていますが、私がPicoに付けたピンヘッダは細いタイプだったので、ちょっと緩くなってしまい、接触不良になりがちです。使ってみようと思われた方はご注意を。
ドライバを組み込んだMicroPythonはこちらからダウンロードできます。UF2ファイルなので、BOOTSELを押しながらPicoを起動して、ドラッグ&ドロップでPicoのドライブにコピーすればインストールできます。ソースコードは、pimoroniの他のPico用拡張ボードのコードと一緒にhttps://github.com/pimoroni/pimoroni-picoで公開されています。ハードウェアを叩く部分のコードは/libraries/pico_display/、MicroPythonのモジュールのコードは/micropython/modules/pico_display/です。
MicroPythonからDisplay Packを使うサンプルとして、LCD上に円を100個描くものが公開されています。
動かしてみるとこんな感じです。ドライバ自体はC/C++で書かれているので、速度はあります。
MicroPythonにはpicodisplayというモジュールが追加されており、ドライバはそこに入っています。ドキュメントはこちらです。
LCDは、RAM上にフレームバッファを置き、それを転送して表示するようです。240×135ピクセル×16bitなので、64,800バイトのRAMを消費します。
タクトスイッチとRGB LEDの使い方はこんな感じです。ボタンを押すとボタンごとに異なる色でLEDが点灯します。
なお、init()でGPIOの設定をしているので、LCDを使わなくてもpicodisplay.init()は呼ぶほうが良いようです。
コメント