九州・福岡・東京ときどきIoT

21年間のはてなダイアリー&アメブロからの避難所

黄色い格安のESP32ベースの2.8インチTFTボードのつまらない話

CYD Virtual

Cheap Yellow Display と呼ばれるボードの

ピンアサインをここに記す。

CYD (ESP32-2432S028R) 更新ピンアサイン一覧

この表は、提供された動作プログラム(AquesTalkコントローラ)に基づき、ピンアサインを確定したものです。TFTとタッチパネルは異なるSPIバスに分離されています。

機能

GPIOピン

SPIバス

備考

ディスプレイ仕様

N/A

N/A

2.8インチ、320x240解像度 TFT

🔊 音声出力

[DAC出力]

I2S-DAC

I2S DAC内蔵モードを使用。GPIO 25/26からアナログ出力。外部アンプへ接続。

---

---

---

---

🖼️ TFTディスプレイ

 

VSPI

LovyanGFXのPanel_ILI9341を使用。

SCLK (クロック)

GPIO 14

VSPI

 

MOSI (マスタ出力)

GPIO 13

VSPI

 

MISO (マスタ入力)

GPIO 12

VSPI

 

CS (チップセレクト)

GPIO 15

VSPI

 

DC (データ/コマンド)

GPIO 2

N/A

 

BL (バックライト)

GPIO 21

N/A

PWM制御 (Light_PWM)。

---

---

---

---

👆 タッチパネル

 

HSPI

XPT2046コントローラ。TFTとは別のHSPIバスを使用。

SCLK (クロック)

GPIO 25

HSPI

DAC1ピンと競合するが、本プログラムではI2S-DAC内蔵モードのため問題なし。

MOSI (マスタ出力)

GPIO 32

HSPI

 

MISO (マスタ入力)

GPIO 39

HSPI

 

CS (チップセレクト)

GPIO 33

HSPI

 

IRQ (割り込み)

GPIO 36

N/A

 

---

---

---

---

💡 ステータス LED

 

N/A

RGB LEDをステータス表示に使用。

Silent/待機 (Green)

GPIO 16

N/A

 

Active/再生中 (Blue)

GPIO 17

N/A

 

---

---

---

---

🔌 拡張I/O

 

N/A

プログラム未使用だが、物理コネクタに存在するピン。

(GPIO 22)

GPIO 22

N/A

 

(GPIO 27)

GPIO 27

N/A

 

ILI9341 ディスプレイコントローラ初期化シーケンス

CYDボードの2.8インチ 320x240 TFTで一般的に使用されるILI9341ドライバチップの基本的な初期化コマンドシーケンスを記載します。このシーケンスは、LovyanGFX (Panel_ILI9341) などのライブラリが自動的に実行し、ディスプレイを動作可能状態にするものです。

コマンド (Hex)

コマンド名

パラメータ数

目的

0x01

SWRESET

0

ソフトウェアリセット

0x11

SLEEP OUT

0

スリープモード解除

(Delay 120ms)

     

0xCF

Power Control B

3

電源制御(初期設定)

0xED

Power Control 1

4

電源制御(初期設定)

0xE8

Driver timing control A

3

タイミング制御

0xCB

Power control A

5

電源制御

0xF7

Pump ratio control

1

VCOMポンプ比率制御

0xEA

Driver timing control B

2

タイミング制御

0xC0

Power Control 1

1

VREG_OUTA電圧設定

0xC1

Power Control 2

1

VGH/VGL設定

0xC5

VCOM Control 1

2

VCOM電圧設定(重要なコントラスト設定)

0xC7

VCOM Control 2

1

VCOM電圧設定

0x36

Memory Access Control

1

表示方向、行/列の並び設定 (回転設定)

0x3A

Pixel Format Set

1

色深度設定 (例: RGB565 -> 0x55)

0xB1

Frame Rate Control

2

フレームレート設定

0xB7

Gate Driver Control

1

ゲートドライバ制御

0xB6

Display Function Control

3

ディスプレイ機能制御

0xF2

3GAMMA Enable

1

ガンマ機能有効化

0x26

Gamma Set

1

ガンマカーブ設定

0xE0

Positive Gamma Correction

15

ポジティブガンマ調整

0xE1

Negative Gamma Correction

15

ネガティブガンマ調整

0x29

Display ON

0

ディスプレイ表示開始

重要な設定 (LovyanGFX / TFT_eSPIでの役割)

  • 0x36 (Memory Access Control): このコマンドで、ディスプレイを横向き (Landscape) や縦向き (Portrait) に回転させるためのレジスタ設定を行います。プログラムの tft.setRotation(TFT_ROTATION); は、このコマンドの引数を変更することで実現されています。
  • 0x3A (Pixel Format Set): 0x55 (16ビット/RGB565) または 0x66 (18ビット/RGB666) のどちらかに設定し、データの送り方を決定します。このボードでは通常16ビットが使われます。