こんにちは、岸田です。
10月に新商品として(再)登場した日本語フォントROM GT20L16J1Yピッチ変換基板を、せっかくなのでArduinoと接続して実際に使ってみました。
内部にピクセル形式でフォントデータが記録されているので、やはりここはグラフィック液晶に表示するのがいいでしょう。SWITCHSCIENCEのwikiにもあるフォントROMのサンプルプログラムは、パソコンから送った文字のデータをROMから読みだしてシリアルモニタに返すものでした。これをベースに、データの返送先をTFT上のピクセルに置き換えてみました。
表示に使ったのはAdafruitから出ている2.8インチTFTタッチモシールドv2(静電容量式)です。
ライブラリが充実していて、非常に使いやすいのでおすすめです。せっかくなので弊社のロゴをBMP形式でmicroSDカードに保存して表示してみました。動作には、Adafruit_ILI9341ライブラリ同梱のサンプルプログラム"spittfbitmap"を利用しています。
本題の漢字表示ですが、ただ単に表示するだけだと、液晶上の同じ位置に上書きする形で表示を繰り返すだけなので、一文字ごとにずれるようにプログラムを書き足しました。液晶の右端まで行くと勝手に改行されます。
ArduinoIDEのシリアルモニタなどから文字を送ると、ぽんぽんと表示していってくれます。
以下に文字を表示する機能の追加方法を示します。画像表示は今回の説明では行いません。
■利用したパーツ
- Arduino(今回はUNO R3)
- 日本語フォントROM GT20L16J1Yピッチ変換基板
- Adafruit 2.8インチTFTタッチモシールドv2(静電容量式)
- Arduino用バニラシールドver.2(青)
- Arduinoシールド用ピンソケットのセット(R3対応)
- ジャンパ、ピンヘッダ、ピンソケット少々
そのまま液晶シールドを利用すると他にパーツを付けられないので、バニラシールドから信号を引き出せるようにピンソケットを外向きに追加しました。
漢字ROMの配線は、wikiを参照してください。ただし、wikiで10番ピンにつながっているSPI通信のチップセレクトは、特に変更しないかぎり液晶制御用のSPIのCSピンと設定が衝突するので、今回は漢字ROMの方を8番ピンに変更してください。
■液晶表示用のライブラリを追加します。
■動作プログラムのダウンロード
- GT20L16J1Y_with_TFT
- 画像表示をする場合は"Adafruit_ILI9341ライブラリ"同梱の"spitftbtimap"を組み込んでください。その際、画像サイズに合わせて"OFFSET_X"および"OFFSET_Y"を変更すると、文字の描画領域も変更されます。
■最後に、動作している様子の動画を紹介します。