5. 液晶ディスプレイをつけてみた
MP3 Player としての骨格ができたところで、 今度は実用のためのステップとして液晶ディスプレイをつけてみます。 Stand-aloneのPlayerとして使うための「顔」に相当するわけですが、 フルカラーVGAの液晶パネルは結構高価だし、 あまり大きいものにすると全体が大きくなってしまいます。 でも、モノクロでもいいから最低日本語表示はできるようにしたい (邦楽も入れたいから^_^;)。 いろいろと迷った挙げ句、128dot X 64dot モノクロのグラフィックLCD module (Optrex F-51553GNYJ-LY-AA) を使うことにしました。 漢字が表示できるキャラクタLCD moduleは高価だし、 文字の大きさの自由度がありません。 グラフィックLCDにすれば、 なにしろHDDを積んでいるのですから色々な大きさの漢字フォントをいくらでも用意できるので、 ソフトウエアでフォントを描画することで好きな大きさで好きな位置に日本語を表示できます。 ドット数がちょっと荒いけど、入手可能な範囲の中からこれを選びました。
一番苦労したのはコネクタの接続でした。 回路やソフトは思っていたよりも簡単にできて、 tinywillowのロゴなんか表示してみたりして御満悦。 でもなんかドットが荒くてレトロな感じです。
《 ← 前へ 》 《 次へ → 》

秋月3069ネットボードにLCDモジュールを接続
1. バックライトの交換
F-51553GNYJ-LY-AA (現在はもう保守品で、新しいシリーズの品番になっています) はバックライトLEDが内蔵されていますが、 LEDが2段直列になっているため5Vの電源であまり明るくなりません。 そこで思い切って分解して、高輝度LEDに付け変えました。 分解してみると、 LEDはチップLEDが直接裏側の基板に実装されていてそのまま置き換えるのは無理そうだったので、 裏側のLED基板は白くペイントしたアクリル板に交換して、 それを横から黄色の高輝度LEDで照らすようにしました。 もともとのLEDを使うよりもずっと少ない電流でずっと明るくなりました。
2. FPCコネクタの接続
次の難関は、信号線の接続です。 LCD module の信号線の接続には FPC (Flexible Print Circuit board) コネクタ ( FH12-30S-0.5SV)が必要です。 最初はそんな特殊なコネクタ手に入るかわかんないし使わずになんとかならないかと思ったのですが、 直接ハンダ付けなんてしたらフィルムごと融けてしまうだろうし 0.5mm という細いピッチなのでどうしようもありません。 ここはひとつ、ありがたい Digi-Key.com様にお願いしてみると やっぱりありました。 これでばっちり、と思って届いたコネクタを見ると、やっぱり細かい…。 左右交互にピンが出ているので 1mm ピッチになりますが、 プリント基板を起こすつもりはないので、 どうにかしてこの端子に配線しなければいけません。 ルーペでみながらショートしないように気を付けて、 細いビニル線を一本ずつハンダ付けしていきました。
どんなに細い配線財でも 1mm ピッチの端子にハンダ付けするのは大変です。 ショートがこわいので端子と線はほんの先っぽでしかつなげられません。 となると、 当然弱いので作業途中で前につけた線がポロっと剥がれてしまいます。 くじけそうになりながらもなんとか最後までハンダ付けして、 余計な力を加えて剥がしてしまわないように、 すかさずエポキシ系接着剤で塗り固めてしまいました。
3. 回路図
LCD用のキャパシタは、 FPCコネクタとベースボードへのコネクタの間のケーブルに直接ぶら下げて、 ボードへの接続本数を減らしました。 H8との接続は、Area 5 を 8bit Address Spaceに設定して、 単純に 8bit の I/O device として接続します。
4. デバイスドライバ
表示する方法は、ここも同様にデバイスドライバを作ることにしました。 F-51553GNYJ-LY-AAのドライバLSIはEPSONの S1D15605で、 コマンド・データの書き込みがハード的にきちんと動作していれば、 使い方に特に難しい点はありません。

漢字もアルファベットも、全てソフトウエアフォントで実現するため、 ファイルをopenする必要がありますが、 デバイスドライバの中からファイルを扱えるのかどうか良くわからなかったので、 デバイスドライバはビットパタンの描画や塗りつぶしなどのAPIを適当に定義して提供することにして、 フォントの展開はユーザアプリ側で行ってドライバに渡すようにしました。 ドット数も少ないしもともと液晶は応答も遅いので、 ソフトによる日本語表示も全く問題無くできました。 漢字フォントは、X の k10、k12等のフォントを、 アプリで扱い易いように適当に決めたビットマップフォーマットに変換して使っています。 作成したデバイスドライバのソース(optrex_lcd.c)です。 Major number 252 の /dev/rtc を仮定しています。

    % mknod lcd c 252 0
    
《 ← 前へ 》 《 次へ → 》