Arduino UNOで3.5インチTFT液晶シールドを動かす
Arduino用の3.5インチTFTグラフィクス液晶シールドを入手しました。
今日はこのTFTモジュールの動かし方をまとめてみます。
説明書も何もない状態だったので、ネット上のそれらしい情報を集めて試行錯誤しながら、何とか動くようになりました。
基本的には、Adafruit のTFTライブラリを用います。まず下記の2つのライブラリをインストールします。
<ライブラリのインストール方法>
対象ページからZipファイルをダウンロード。適当なところに保存。
保存したZipファイルを、Arduino IDEのライブラリにインストールします
Arduino IDEのメニューバー<スケッチ>→<ライブラリをインクルード>→<.ZIP形式のライブラリをインストール> より ( filename ).zip を選択
2つのライブラリのインストールが終わったら、サンプルスケッチ(graphicstest)を開いてみます。
<ファイル>→<スケッチ例>→<TFTLCD-Library_master>→graphicstest
さっそくコンパイルしてボードに書き込みます・・・が、たぶん画面が真っ白のままです。シリアルモニターを開くとこんな感じになります。
1)TFTサイズが 240×320 となっています。
2)unknown LCD driver chip:0となっています
LCDドライバチップを正しく認識してないようですので、スケッチを少し変更します。
<変更前>
<変更後>
変数 identifierを無理やり 0x9341 にしています。こうすることで何とか動き始めます。でもまだまだ・・
どうやら色が反転しているようですので、色の定義部分を変更します。色コードの前に notを意味する ~ をつけます
<変更前>
<変更後>
これで色は正しくなったようです。
いったんスケッチの修正は終わるのですが、このスケッチファイル graphcstest は書込み禁止ですので、別名でスケッチを保存しておく必要があります。(適当に保存しといてください)
さてもう少し・・画素数が240×320のままのようですので、Adafruit_TFTLCD.cpp の中身を一部変更します。
Adafruit_TFTLCD.cpp ファイルは、マイドキュメント\Arduino libraries\TFTLCD-Library-masterフォルダの中にあります。Windowsの方はワードパッドで開くといいかも。
Adafruit_TFTLCD.cpp の中の、画素数を定義しているところを変更します。
<変更前>
//#define TFTWIDTH 320
//#define TFTHEIGHT 480
#define TFTWIDTH 240
#define TFTHEIGHT 320
<変更後>
#define TFTWIDTH 320
#define TFTHEIGHT 480
//#define TFTWIDTH 240
//#define TFTHEIGHT 320
これで上書き保存します。(不安な方は元ファイルを別の場所にバックアップしてください) これでソコソコうまく動くかと思います。
まだ完全ではない気がしますが・・・ボチボチ更新していければと思います。
それでは。