「PIC AVR 工作室」サイトの日記的なブログです。
サイトに挙げなかった他愛ないことを日記的に書き残してます。
PIC AVR 工作室 ブログ



昨日作った、ネイキッドArduino用のシリアル
コネクタを使って、MEGA328、3.3V動作のArduino
として動かしてみる。

この間aitendoで買ってきた、SSD1306搭載の
OLEDを、SPIで繋いで動かしてみるというもくろみ。


この間から作っている、

液晶画面オシロを表示するモックアップのスケッチ
があるので、このSPI通信部分とかをチョイチョイ
弄って、128×64ドットのOLED表示に対応させてみる。



制御方法自体はそれほど変わらないので、初期化の
パラメタの渡し方あたりを弄るだけで、とりあえず
それなりに画面が表示できた。



こんな感じで、ちっちゃいブレッドボード1枚に
Arduinoの機能一通りと、OLEDが収まっちゃう。

なかなか便利な代物。自画自賛。


画面サイズが大きくなった分、表示処理の各定数
は弄ってないので、下部と右側に不自然な余白が
できちゃうんだけど、まぁ表示の確認だけなので、
これはこれで。細かいところはあとでまた。

ちなみに、スクリーン下側は表示してない余白が
たくさんあるように見えるけど、単に外枠が



こんな風になっているだけなので、実際は128×64
のほぼ全域を使って、先ほどの表示という具合。






ちなみに、文字的なものや模様的なものが表示できて
から、ここまで化けずに表示出来るようになるまで、
色々処理を弄りなおして、小一時間。

これまでは8ビット変数(char)で計算が足りてた
部分が、横128ドットになった途端、8ビットでは
足りなくなったのが大きな理由。その他、定数を
ベタ打ちしてたコードを、もう少し綺麗に書き直し
したりなど。

ちゃんと表示できるまでの間、電源入れて、中途半端
な表示を出したままにしてた時間があったので、
気付いたら、既に少し画面に焼きつきができてた。

全画面を白で塗りつぶすと、焼きつきしちゃった
部分の文字とか直線とかが、うっすらと。



うーーーーん。1時間くらいの間に焼きつきが
できちゃうのか。OLEDって。

まぁ、くっきりってほどじゃないし、さっきの
写真みたいな「文字やグラフ」を表示してる
分には、くっきり映って見えるから、それほど
気にする必要もないんだけど。



NOKIA5110液晶と比べると、SSD1306 OLEDの
128×64ドットは、VRAMサイズがおよそ倍に
なっちゃう。

モックアップ画面の表示を行うだけでも、
(FFT処理とか含めて)残りのSRAMはもはや
100バイトちょっとしか残ってない。

このOLEDの表示にも対応させるには、どうやら
スクリーン全体をグラフィックVRAMで持つのは
無理っぽい。

実際にグラフを各部分だけVRAMを用意して
おいて、文字表示するだけの部分については、
VRAMを持たずに常に上書き描画でいいかな。

まぁ、大量にメモリを食うFFTとVRAMはもう
組み込んであるから、もしかしたら残りは
100バイトもあれば足りるかもしれないけど。



コメント ( 0 )