Arduino Pro Miniを使って、2.2インチTFT(SODIAL 2.2" TFT QVGA)の表示テストをしました。
このTFTのコントローラーは、ILI9341で、SPIでコントロールします。
Arduino Pro Mini(UNO)のSPIで使用するピンは、
D10 SS
D11 MOSI
D12 MISO
D13 SCK
ですが、他にRESETとDC/RSのためのピン出力が必要です。
TFTとArduino Pro Mini(UNO)との接続は、次のようにします。
TFT のピン番号 Arduino
1 VCC 3V3
2 GND GND
3 CS D10
4 RESET D8
5 DC/RS D9
6 SDI/MOSI D11
7 SCK D13
8 LED 3V3
9 SDO/MISO D12
接続回路図です。
表示テストをするためにまず、ILI9341のライブラリをインストールします。
Arduino IDEで、ツールのライブラリ管理を開き、「Adafruit ILI9341」を検索し、インストールします。
次に、ファイル→スケッチ例→Adafruit ILI9341と進み、graphicstestを読み込みます。
このスケッチのままでは動かないので、若干修正し(赤字の部分)、保存します。
(こちらのサイトを参考にさせていただきました。)
// For the Adafruit shield, these are the default.
#define TFT_RST 8 // 追加
#define TFT_DC 9
#define TFT_CS 10
#define TFT_RST 8 // 追加
#define TFT_DC 9
#define TFT_CS 10
// Use hardware SPI (on Uno, #13, #12, #11) and the above for CS/DC
Adafruit_ILI9341 tft = Adafruit_ILI9341(TFT_CS, TFT_DC, TFT_RST);
ブレッドボードと表示の様子です。
Adafruit_ILI9341 tft = Adafruit_ILI9341(TFT_CS, TFT_DC, TFT_RST);
ブレッドボードと表示の様子です。
グラフィックスのサンプルが表示された後、下のようなテキスト表示サンプルが90°ずつ回転して表示されます。
メモリの消費率は57%、変数は29%使われますが、カラー表示はたいへん見やすいです。
Adafruitのフォントは、ちょっと荒っぽいです。Ucglib を使えばもっと滑らかな文字を表示することができます。