タッチ機能搭載LCD ILI9488をESP32から画面表示をやってみる。
目次
はじめに
AliExpressでTFT LCDモジュールを購入しました。 タッチ機能を持つミニサイズの画面です。色々表示させて使いたいなと思っています。
3.5 インチ TFT Lcd モジュールパネル ILI9488 ドライバ 320x480 SPI ポートシリアルインタフェース (9 IO) タッチ ic XPT2046 アード stm32
卓上に置いて時計や気温、CO2濃度などを見れるようにしようと思っています。
ILI9488はドライバーICのことでそれを使用した液晶モジュールと、XPT2046というタッチスクリーンを搭載した機器です。
製品スペックは参考になるかと思います。 3.5inch SPI Module ILI9488 SKU:MSP3520
DataSheet
解説は下記のページに書いてあるとおりです。
情報をあげてくれる方に感謝しましょう。
接続方法
LCDの接続方法はわからないですがいくつかサンプルコードを読み込み理解しました。 特定の機能をESP32の番号PINに割り当てて行くことで表示できるようです。
配線図を書いてもいいですが、番号と接続先を決めたほうが分かりやすそうなので記載します。
ESP32 | TFT LCD(タッチスクリーン) | 役割 |
---|---|---|
23 | T_IROQ | タッチスクリーンの割り込み制御 |
GND | T_OUT | DCLKの立ち下がりエッジでシフトする。SPIバスの出口に相当するのでGNDでいいかと |
22 | T_DIN | Serial Data Input.DCLKの立ち上がりエッジでラッチする |
19 | T_CS | チップセレクトインプット。シリアルの入出力 |
21 | T_CLK | クロック入力。 |
ESP32 | TFT LCD(画面表示) | 役割 |
---|---|---|
接続なし | SDO(MISO) | |
3V3 | LED | バックライト? |
14 | SCK | SPI Bus clock signak |
34 | SDI(MOSI) | Write data signal |
32 | D/C | LED Register data selection signal.High:resistor Low:data |
35 | RESET | リセットシグナルを受診するための口 |
33 | CS | LCD chip select signal, low level enable |
GND | GND | GND |
3V3 | VCC | 電源供給用 |
TFT_eSPI
Arudino Studioからライブラリマネージャを開きます。
検索バーにTFT_eSPIを入力し下記パッケージをインストールします。
定番ライブラリがあるようなのでこちらを使用します。 サンプルコードを参考に作っていきます。
User_Setup.hを開き環境にあった箇所のコメントアウトを解除していきます。
// ##################################################################################
//
// Section 1. Call up the right driver file and any options for it
//
// ##################################################################################
(略)
#define ILI9488_DRIVER
// ##################################################################################
//
// Section 2. Define the pins that are used to interface with the display here
//
// ##################################################################################
(略)
// ###### EDIT THE PIN NUMBERS IN THE LINES FOLLOWING TO SUIT YOUR ESP32 SETUP ######
// For ESP32 Dev board (only tested with ILI9341 display)
// The hardware SPI can be mapped to any pins
#define TFT_MISO 19
#define TFT_MOSI 23
#define TFT_SCLK 18
#define TFT_CS 15 // Chip select control pin
#define TFT_DC 2 // Data Command control pin
#define TFT_RST 4 // Reset pin (could connect to RST pin)
#define TFT_RST -1 // Set TFT_RST to -1 if display RESET is connected to ESP32 board RST
// For ESP32 Dev board (only tested with GC9A01 display)
// The hardware SPI can be mapped to any pins
(略)
// ###### EDIT THE PINs BELOW TO SUIT YOUR STM32 SPI TFT SETUP ######
まとめ
これで動きます。