App:Library:TFT eSPI
TFT_eSPI
インストール方法
ここでは、ESP32-DevKitC + ILI9341(320*240,Touch付き) の組み合わせに対する設定をします。
HSPIはESP32内部Flashにつながっているためトラブル防止の点から、ここではVSPIにLCD・タッチセンサ・SDを接続するのを想定しています。
Arduino IDE から、"ツール"→"ライブラリを管理"
"TFT_eSPI"を検索
一番下辺りの "by Boodmer" 、バージョンは最新をインストール。
次に、インストールされたファイルに対しての操作です。
回路の結線は次の接続を想定しています。
ILI9341 ESP32-DevKitC ILI9341 ESP32-DevKitC LCD VCC +3.3V_OUT TouchPanel T_CLK D18 (VSPI-SCK) GND GND T_CS D4 CS D14 T_DIN(MOSI) D19 (VSPI-MOSI) RESET D33 T_DO(MISO) D18 (VSPI-MISO) DC D27 T_IRQ D15 SDI(MOSI) D19 (VSPI-MOSI) SD SD_CS D5 SCK D18 (VSPI-SCK) SD_MOSI D19 (VSPI-MOSI) LED D32 SD_MISO D18 (VSPI-MISO) SDO(MISO) D18 (VSPI-MISO) SD_SCK D18 (VSPI-SCK) LCDとタッチパネルについて、上記結線の通りに設定ファイル "User_Setup.h" を変更していきます。
現状ではSD_CARDとの結線は使用していないため、設定していません。
"User_Setup.h" を開きます。
場所:"ファイル"→"環境設定"→"スケッチブックの保存場所" の "libraries" フォルダ内
※Linuxの場合
バックライトの配線も制御する場合、その制御部分を有効にします。
#defilne TFT_BL #define TFT_BACKLIGHT_ON HIGH
デフォルトがNodeMCUになっているので、その部分をコメントアウトします。
ESP32 Dev Boardのピン配置を回路にあわせて設定します。
※数字はピン番号ではなくポート番号です。
#define TFT_MISO #define TFT_MOSI #define TFT_SCLK #define TFT_CS #define TFT_DC #define TFT_RST #define TOUCH_CS
動作確認
この段階で既に TFT_eSPI 用のスケッチ例の多くがそのまま動作します。
順に確認を進めます。
TFT_eSPIの設定が問題ない事の確認 & calData取得
タッチセンサと画像表示の両方を確認し、タッチセンサのキャリブレーションパラメータを取得します。
"ファイル" → "スケッチ例" → "TFT_eSPI" → "General" → "Touch_caribrate"
シリアルモニタを 115200bps で起動させておきます。
スケッチ例を書き込んで動かします。
最初に四隅をタッチしてタッチセンサの位置を認識させます。
シリアルモニタ上にキャリブレーションパラメータが表示されます。
// Use this calibration code in setup():
uint16_t calData[5] = { 402, 3478, 1998, 1689, 7 };
tft.setTouch(calData);この値は後で使うため、テキストファイル等にメモしておきます。
キャリブレーションが終わると、次の画面になります。
画面上を触ってみましょう。
触った所に白く跡がつけば TFT_eSPI の動作確認完了です。