ゆる〜く電子工作

電子工作の備忘録メインで ゆる〜くいきます

Arduino UNOで3.5インチTFT液晶シールドを動かす

Arduino用の3.5インチTFTグラフィクス液晶シールドを入手しました。

今日はこのTFTモジュールの動かし方をまとめてみます。

f:id:milelife:20170406112337j:plain

 

説明書も何もない状態だったので、ネット上のそれらしい情報を集めて試行錯誤しながら、何とか動くようになりました。

 

基本的には、Adafruit のTFTライブラリを用います。まず下記の2つのライブラリをインストールします。

・Adafruit-GFX-Library

・Adafruit-TFTLCD-Library

 

<ライブラリのインストール方法>

対象ページからZipファイルをダウンロード。適当なところに保存。

f:id:milelife:20170406114445j:plain

 

保存したZipファイルを、Arduino IDEのライブラリにインストールします

Arduino IDEのメニューバー<スケッチ>→<ライブラリをインクルード>→<.ZIP形式のライブラリをインストール> より ( filename ).zip を選択

f:id:milelife:20170406115119j:plain

 

2つのライブラリのインストールが終わったら、サンプルスケッチ(graphicstest)を開いてみます。

<ファイル>→<スケッチ例>→<TFTLCD-Library_master>→graphicstest 

f:id:milelife:20170406121641j:plain

 

さっそくコンパイルしてボードに書き込みます・・・が、たぶん画面が真っ白のままです。シリアルモニターを開くとこんな感じになります。

1)TFTサイズが 240×320 となっています。 

2)unknown LCD driver chip:0となっています

f:id:milelife:20170406122043j:plain

 LCDドライバチップを正しく認識してないようですので、スケッチを少し変更します。

<変更前>

f:id:milelife:20170406123039j:plain

<変更後>

f:id:milelife:20170406123115j:plain

 

変数 identifierを無理やり 0x9341 にしています。こうすることで何とか動き始めます。でもまだまだ・・

 どうやら色が反転しているようですので、色の定義部分を変更します。色コードの前に notを意味する ~ をつけます

<変更前>

f:id:milelife:20170406123804j:plain

<変更後>

f:id:milelife:20170406123818j:plain

これで色は正しくなったようです。

いったんスケッチの修正は終わるのですが、このスケッチファイル 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

 

これで上書き保存します。(不安な方は元ファイルを別の場所にバックアップしてください) これでソコソコうまく動くかと思います。

f:id:milelife:20170406125937j:plain

 

まだ完全ではない気がしますが・・・ボチボチ更新していければと思います。

それでは。