RETURN TO Z80

いまさら8bitマイコンを作るのだ!

Arduinoから320X240 GLCDを制御する

マイコンを作ろう、というのがこのブログの本題なのだけれど、今回はいきなり寄り道系。マイコンはマイコンでもArduinoの話だ。このところ、Arduinoで小型液晶をハンドルしてみている。ebayなどで売られているもので、HY-TFT240_262kという型番がついている。「2.4 inch TFT LCD Module Screen 240 x 320 Pixels ILI9325 Arduino Compatible」と検索すれば出品ページが見つかる。

f:id:z80cpu:20131110124410j:plain

 

Arduinoはかなりお気楽にコーディング出来る。ライブラリーも結構揃っていて、なくても化粧を剥げばAVRのgccだから自分でなんとかすることも可能だ。

 

ただしひとつ問題があって、カラーの液晶をハンドルするにはAVRのプログラムメモリが不足しがちだ。UTFT - Electronics - Henning Karlsenは複数フォントを搭載するなどよく出来たライブラリだが、残念なことに容量が大きくて、ATMega328Pの32KBでも表示するだけでいっぱいいっぱい。それでは有意義に使えない。

 

一方、ライブラリとしての充実度は低いものの、軽量なライブラリとして、adafruit/TFTLCD-Library · GitHubがある。ただしこちらにも問題があって、当初、手元のLCDモジュールではうまく動作してくれなかった。Henning Karlsenのライブラリでは動くので、表示が出来ないわけはないのだろうとコードを覗いてみる。

 

すぐに原因は分かった。モジュールのリードがうまく出来ないようだ。

モジュールの回路図等詳細な仕様が不明なため原因探求は難しいのだが、ともかくモジュールへのライトは通るがリードが通らない。

であれば、書きっぱなしにすればいいわけで、リードでモジュール名をチェックしている部分を無視して問題なく動作した。

 

2.4インチという大きさは小さいものの、320X240の解像度を持ち、表示の質は高い。色数も、80年代にありがちだった8色なんてせこいもんじゃなく、262K色。もっとも、使っているうちにいくつか気になる点が出てきてしまった。

 

ひとつは、モジュールに搭載されているILI9325というドライバチップがハード的にはスクロール機能があるようなのだが、ライブラリでは未サポートなこと。もうひとつはライブラリのフォントが欧文のみなこと。さすがに漢字フォントまで積もうとは思わないが(SDカードやシリアルROMに書き込んで、表示の都度に読み込むという方法はあるけれど)、カタカナぐらいは欲しい。このふたつは自分でなんとかすることにしよう。