I2C接続 SSD1306 OLEDでグラフィック表示テスト(ESP32、ArduinoIDE) | a24a24a24のブログ

a24a24a24のブログ

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

 

 

I2C接続の超小型表示部「SSD1306」ESP32ボードで、2Dグラフィックを表示してみました。

Adafruit等の表示ライブラリは使わずWire.hのみ使用、

32x32ドットの星の絵を、自作のプログラムでリアルタイム描画しています。

 

 

 

 

 

星のドット絵。

これをESP32でひたすら計算して1ドットずつ描画します。

 

 

 

 

 

 

 

・拡大縮小付き疑似スプライト

・背景の拡大縮小、回転、スクロール

・透視投影変換による疑似3D

・ハーフトーンで5階調表示

 

やっていることはスーファミ時代のハードウェア描画に似ているかもしれません。

スペースハリアーマリオカートの頃ですね。

これくらいの負荷だと、1フレームの描画時間は20~30ミリ秒なので、

秒間30~50フレームの滑らかな表示ができそうです。

 

 

 

・・・実は大昔に、PC98で同様のプログラムを試作したことがあります。しかし、

独学のC言語+アセンブラを併用しても秒間10フレームしか出ず、悔しい思いをしました。

 

それがESP32で楽に実現してびっくりです。

特に計算処理が速い気がします。

 

 

当時の32ビットPC98が20~30万円

今回のESP32マイコンボードは中国通販でわずか400円、なのに動作は軽々サックサク。

二十年以上前との比較なので当然かもしれませんが、

ハードの進化は凄いと、改めて感じました。