SSD1306 OLEDの表示フォントを増やしてみた(ESP32、SSD1306) | a24a24a24のブログ

a24a24a24のブログ

アメピグ残党。
釣り、温泉、お出かけ、パソコン。最近、電子工作。

ESP32のプログラムをちょこちょことやっていますが、

あれこれ手を出して、まとまった形の物ができていません。

試行錯誤中です。

 

 

そんな中、SSD1306 OLEDという小型表示画面について

文字が小さく見辛かったので、フォントの種類を増やしてみました。

 

 

 

 

 

 

写真の赤丸がSSD1306です。

画面は0.96インチ、幅2cm×高さ1cmほど。指の第一関節くらいしかありません。

 

これに自作プログラムで16文字×4行表示をしているのですけど、なかなか見づらい。

また、工作の内容によって文字の雰囲気を変えたいと思いました。

では作成開始。

 

 

 

元データはこちらのフリーフォント画像を使わせて頂きました。感謝致します。

Ferret Labs - Some Free GDF Font Files (danceswithferrets.org)

 

 

 

 

 

 

上記サイト提供の文字画像を、128×128ドット範囲にペイントでひたすら「写植」します。

(範囲指定、コピー、貼り付け)

1文字のサイズは、8×16ドット。128文字で1セット。

下部の記号は自分でドットを描きました。

また0(ゼロ)とO(オー)や、読みにくそうな部分は時間をかけて手直ししました。

 

 

 

 

 

作成した画像をnfBmptoHexで16進数にコンバートした後、

さらに自作プログラム用の形式に変換します。

この辺りは我流ですね・・・。

最終的に、1書体につきC言語の配列4行ほどに納めます。

8書体まで増やして、完成。

 

 

 

 

I2S 音楽プレイヤーのプログラムに組み込んでみた例です。

写真がピンぼけですみません。

 

 

 

文字だけで、けっこう印象が変わりますね。

縦が長い文字の方が、小さくても可読性が高い気がします。

 

表示速度は、差分表示を使っているので速いです。

音楽再生中で、時間カウントとレベルメーターしか変化がなければ

1フレームの更新で1~3ミリ秒程度と思います。

 

 

 

 

今回、0.96インチの画面で試しましたが

実は通販AliExpressでさらに小さい「0.66インチ」という画面を注文中です。

面積は半分、ツメ一個程度。

はたして何に使えるのか、そもそも動くのか?届く前からワクワクしています。

 

おしまい。