JH7UBCブログ

アマチュア無線 電子工作 家庭菜園など趣味のブログです

ESP32 2.2インチTFT表示テスト

2020-01-12 10:06:59 | ESP32

 ESP32でTFTディスプレイの表示テストをします。

 マイコンで利用されるTFTディスプレイには、2.2インチ,2.4インチ,2.8インチ,3.2インチなどがあり、240×320ドットでSPIインターフェースで制御され、コントローラーにはILI9341が使われています。

 今回は、手持ちの2.2"のTFTを使います。Qiitaのこの記事などを参考にしてテストしました。

 ESP32 DevKitCとTFTの接続は次のようにします。

ESP32                       TFT

3V3   ------------------ Vcc

GND  ------------------ GND

GPIO5(VSPI SS) ------ CS

GPIO16 ---------------- RESET

GPIO17 ---------------- DC/RS

GPIO23(VSPI MOSI) -- SDA(MOSI)

GPIO18(VSPI SCK) ---- SCK

3V3 --------------------- LED

GPIO19(VSPI MISO) --- DO(MISO)  これは接続しなくとも動作します。

接続回路図です。

GitHubからAdafruit_ILI9341Adafruit_GFXライブラリをダウンロードして、Arduino IDEライブラリに登録します。

Adafruit_ILI9341のexamplesの中のgraphicstest.inoの一部を次のように書き換えてコンパイル書き込みします。

#define TFT_RST 16
#define TFT_DC 17
#define TFT_CS 5

// 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);

 グラフィックスのデモが表示され、最後に上の画面が表示され、90°ずつ回転します。 

 「Hello World!」と簡単なグラフィックスのスケッチを作りTFTに表示してみます。

------------------------------------------

/*
 * ESP32 ILI8341を使った2.2inch TFTディスプレイ表示テスト
 * 2020.1.10
 * JH7UBC Keiji Hata
 */
 
#include <SPI.h>
#include <Adafruit_GFX.h>
#include <Adafruit_ILI9341.h>

#define TFT_DC 17
#define TFT_CS 5
#define TFT_RST 16

Adafruit_ILI9341 tft = Adafruit_ILI9341(TFT_CS, TFT_DC, TFT_RST);

void setup() {
  tft.begin();
  tft.setRotation(3);
  tft.fillScreen(ILI9341_BLUE);
  tft.setCursor(50, 50);
  tft.setTextColor(ILI9341_YELLOW);
  tft.setTextSize(3);
  tft.println("Hello World!");
  tft.drawRoundRect(40,40,225,40, 5,ILI9341_WHITE);
  tft.fillCircle(100,150,50,ILI9341_RED);
  tft.fillRect(170,100,100,100,ILI9341_GREEN);
}

void loop() {
}
------------------------------------------------------
表示結果です。
 
 
 グラフィック表示は、前の記事NOKIA5110の表示に使用したのと同じAdafruit_GFX.hライブラリを使っていますので、基本的な記述の仕方は同じです。
 ただし、TFTではカラー表示ができますので、色指定は、ILI9341_WHITE,ILI9341_BLACK,ILI9341_RED,ILI9341_GREEN,ILI9341_BLUEなどと記述します。
 TFTディスプレイは、非常に色あざやかで視認性も良いです。
 まずは、うまく表示されて良かったのですが、Adafruitのフォントは荒っぽく、もう少しなめらかなフォントがほしいところです。