以前にOLED SSD1306を使ったプログラム作成のご相談があったのですが、経験が無いので納期等ご迷惑をお掛けしてはいけないと感じて辞退したことがあります。
その後、秋月で購入していたので試してみることにしました。
PIC16F1705で数字を表示するだけのものですが、ビットマップフォントデータはWebページを参考にして、5x7ピクセル(データサイズ6x8ビット)の英数字と12x16ピクセルの数字だけ記述しています。
表示している文字は大中小の3サイズで、以下のものです。
・小 6x8(5x7)
・中 12x16
・大 24x32 (中を縦横2倍に拡大したので、その分ジャギーです)
中と大は文字の周囲に空白があるので、リバース表示しても使えると思います。
フォントデータはconstを付けて記述しているのでプログラムメモリーにあって、RAMの消費は抑えられています。
この時のMPLAB X ダッシュボードの様子は下図のようになっています。
文字の表示位置は横方向はピクセル単位ですが、縦方向はページ単位で8ピクセルの整数倍(0~7倍)で8行のいずれかになります。
縦方向もピクセル単位にするためには、PICのメモリーに表示空間(128x64bit = 1024byte)のワークが必要になると思います。
16F1705では容量不足なので、16F18326(RAM:2k)や16F18857(RAM:4k)と言ったPICが必要そうです。
SSD1306はモノクロですが、カラー表示のグラフィックディスプレイではどうなるのでしょうか?
機会があったら挑戦してみようと思います。
今後とも宜しくお願い致します。