[SPI] 2.2 inch TFT ディスプレイ (ILI9341)

2.2 inch の TFT ディスプレイです。3.3V 動作なので注意が必要です。



購入

Amazon 等で購入できます (購入時価格: ¥968)。

パッケージには、

2.2寸SPI串口模块
分辨率: 320x240

とあります。日本語訳すると、

2.2 インチ SPI シリアル モジュール
解像度: 320x240

といった所でしょうか。



動作確認

5V 系の Arduino と接続するには、microSD カードの接続を行うのにも使ったロジックレベル変換モジュールが必要になります。

ご覧の通り、ちょっと面倒 (抵抗分圧でやろうとするとさらに面倒) な接続になるため、3.3V 系の Arduino と接続する事をオススメします。

以下は 3.3V 系 Arduino へ直結するためのピンアサインです。

TFT Arduino
1 VCC 3V3 / VCC
2 GND GND
3 CS 10
4 RESET 8
5 DC 9
6 MOSI 11
7 SCK 13
8 LED 3V3 / VCC
9 MISO 12

Arduino UNO 互換機の中には 5V / 3.3V を切り替えられるものがあり、このタイプだとロジックレベル変換モジュールは不要です。

この TFT モジュールを使うのに必要なライブラリは以下の2つです。Arduino IDE の libraries フォルダにコピーしてください (zip で取得したのであれば [スケッチ | ライブラリをインクルード | .zip 形式のライブラリをインストール...] からでも OK)。

サンプルスケッチは graphicstest.ino ですが、このままではうまく動きませんので少し修正します。

// For the Adafruit shield, these are the default.
#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);

RESET の定義を追加してやります。

// For the Adafruit shield, these are the default.
#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);

上記コードの直下で "コメントアウトしてある引数を 6 個取るコンストラクタ" の書き方だとソフトウェア SPI になってしまい、速度が極端に低下しますのでご注意下さい。

以下の画像は TFT モジュールと 5V 系 Arduino (UNO 互換機) を実際に接続してみたところです。

ゴチャゴチャしますよね。

See Also:


ここにある情報が役に立って、「調べる手間が省けたからオマイに飯でもおごってやるよ」 というハートウォーミングな方がいらっしゃいましたら、下のボタンからどうぞ。

メニュー: