RaspBerry Pi Pico 2でグラフィック表示
マイコンに接続してグラフィック表示ができるLCD(液晶ディプレイ)やOLED(有機ELディスプレイ)デバイスは様々な解像度のものが市販されています。またインタフェースは、I2CやSPI等のシリアルインタフェースが主流ですが、より高速な表示のためにパラレルインタフェースも採用されています。
グラフィックディスプレイ(SSD1306)
そこで今回はベルーフの実務研修の1つ、Python組み込み研修でも使用した128×64画素の単色OLEDディスプレイ(SSD1306)を動かしてみます。
Python組み込み研修の表示例
このディスプレイはI2Cインタフェースが採用されています。I2Cはクロック周波数が最大400KHzと低速なためあまり高速な表示には向きませんが、ディスプレイが単色で比較的低解像度(128×64)なため動画等の表示でなければ十分実用的なスペックです。(参考:Python組み込み研修の表示例)
RaspBerryPi PicoのI2Cインタフェースが利用できる端子はある程度決まっています。内蔵されているI2Cインタフェースに下記の接続でディスプレイを接続します。ブレッドボードを使って接続しましたが、下記のように4本のリードを接続すれば良いので簡単です。
接続図
文字表示アプリケーション
グラフィックディスプレイは基本的にディスプレイの指定した座標の点を表示するか否かということで表示データを用意しディスプレイに送ることで様々な画像や文字を表示します。従ってデータ作成には相当な労力が必要になってしまいます。そこで、これらのデータ作成をサポートするグラフィックドライバというライブラリを使って表示を行います。この類のライブラリには海外製が多いのですが、今回はLovyanGFXという日本の方が作成したものを使用しました。海外製に比べ漢字フォントを標準で内蔵しているので、Unicodeの文字列をそのままディスプレイに表示することが出来ます。表示しているアプリケーションは0.1秒毎に1文字ずつスクロールしながら文章を表示するものです。
![]() |
![]() |