macsbug

Archive for 4月 2022

7″ 16bit LCD and ESP32-S3

leave a comment »

7″ 800×480 16bit SSD1963 LCD を ESP32-S3-DevKitC-1で動かす方法。  2022.04.21


.
速度:16bit接続とバス周波数50MHzで最高の速度を達成しています。
Library:LovyanGFXを使用し高速表示が可能です。
_ 16ビットパラレルバスの設定は 通常40MHzですが
_ cfg.freq_write =50000000; の設定で 50MHz が使用できます。
_ 8ビットパラレルバスの設定は 通常40MHzですが
_ 50MHz, 60MHz が使用できます。
_ 使用環境によって上記周波数の設定が可能です。

_ SPI,8bit,16bit Display と ESP32,S2,C3 の速度比較は
_ LCD and ESP32 speeds with LovyanGFX を参照ください。


.
目的:lv_example/src/ の 5つのデモ(demo)を動作させます。



Performance of lv_music_demo :
_ The average FPS is 18 , 23.5kB used (74 %), 25% frag. , 62FPS, 4% CPU


.
開発環境と構成:
HARD : ESP32-S3-DevKitC-1 , Aliexpress:without TELEC
HARD : ESP32-S3-DevKitC-1-NB , 秋月電子通商:with TELEC
– ESP32-S3:Datasheet
– ESP32-S3-WROOM-1:Datasheet
– ESPRESSIF:ESP32-S3-DevKitC-1
_ ESP32-S3-DevKitC-1:Schematic

HARD : 7″ 800×480 8bit/16bit Parallel SSD1963 Display Touch XPT2046
_ SKU:MRB5963
_ Driver IC:SSD1963
_ Resolution:800*480 (Pixel)
_ Module Interface:8bit/16bit parallel interface:
_ Touch IC:XPT2046:Data Sheet

Arduino IDE 1.8.19
_ Board : “ESP32S3 Dev Module”
_ USB Mode : “USB-OTG TinyUSB)”
_ USB CDC On Boot : “Enabled”
_ USB Firmware MSC On Boot : “Enabled (Require USB-OTG Mode)”
_ Upload Mode : “UART0 / Hardware CDC”
_ Port : “/dev/cu.usbmodem142402 (ESP32S3 Dev Module)”
Board Manager : arduino-esp32 2.0.3-RC1
Library Manager : lvgl 8.0.2
Library Manager : lv_examples 8.0.1
Library:LovyanGFX Develop
_ 謝辞:LovyanGFX 開発者の らびやん氏に ESP32 S3 対応をして頂きました。

設定等は 以下を参照ください。
⭕️ LVGL 8.0.2 と lv_examples 8.0.1 の基本:LVGL 8 demo with M5Stack


.
🟢 Down Load:LVGL802_demo_16bitCTE_ESP32S3_DevkitC1.zip
DL後 pdf(_1.pdf)を削除しzipを解凍します。
尚、lv_demo_widget は動作しない為 スケッチには記載していません。


.
USB Firmware MSC On Boot 機能:
UART Connector:UART書き込み時に使用します。
USB Connector:MSC接続時に使用します。

USB MSCは USB デバイスとして認識する機能です。
Arduin IDE Board managerにある
USB Mode : “USB-OTG (TinyUSB)”
USB CDC On Boot : “Enabled”
USB Firmware MSC On Boot : “Enabled (Requires USB-OTG Mode)”
にして書き込むと MSC機能が動作します。

S3 DevkitCを PCに接続すると ESP32-FWMSCアイコンが表示されます。
アイコンに .binを Drag & Dropすると瞬時にアプリが起動します。
Export compiled Binary済みの .binを用意しておけば Arduino IDEを起動したり
書き込み不要で USB接続の不具合や書き込み速度が遅いとかも無くなります。


.
部品リスト:7228円 ( $56 )

No. Nomen Purchase Price
1 7″ 800×480 16bit Parallel SSD1963
. Display with Touch
Sunton Store
. $39.63
.輸送機関=8日
5088円
2 ESP32-S3-DevKitC-1-N8

TELEC number sticker:201-220052
秋月電子通商 1840円
2 ESP32-S3-DevKitC-1
Made-in_china_Store
. $26.88
. 輸送期間 10day
3287円
3 ユニバーサル基板 72x47mm
秋月電子通商 120円
4 ピンソケット 2x20P 8.5mm
秋月電子通商 80円
5 プラスチックナット 10mm セット
秋月電子通商 100円

.
ESP32-S3-DevKitC-1
– 44 PIn で 36 の GPIO を備えています。
– USB Tip:CP2102。
– LDO:SGmICRO:SGM2213-3.3XKC3G/TR。
– EN端子の時定数:1.1μF + 10KΩ、τ=517μsec
– Without TELEC:ソフトで送信停止 又は アンテナ部に50Ωダミーロードを接続します。

LCD Display:
– 画面が大きくなると価格は高くなります。
– 種類が多数ありますのでご注意ください。
– Aliexpressの商品の価格変動は Price Archive で販売店のURLを入力すると見る事ができます。
.


.
配線図:

1. 3.3V と 5V 駆動です。5Vは Backlight LED 用です。
_ 5Vは LED_ANC Connector の横にあります。5inch LCDでは NC になっています。
2. Backlight Control:R4 0Ω LED A を選択(Jumper)すると 基板上のLED電源回路が動作します。

16bit Parallel and ESP32-S3-DevKitC-1 Pin Assignments
SSD1963 VDD GND BL RST CS RS WR RD
S3-DevKitC 3V3 GND 3V3 RST 5 47 45 0
16bit Parallel and ESP32-S3-DevKitC-1Pin Assignments
SSD1963 D0 D1 D2 D3 D4 D5 D6 D7
S3-DevKitC 14 13 12 11 10 9 46 3
16bit Parallel and ESP32-S3-DevKitC-1 Pin Assignments
SSD1963 D8 D9 D10 D11 D12 D13 D14 D15
S3-DevKitC 8 35 36 37 38 16 4 6
16bit Parallel and ESP32-S3-DevKitC-1 Pin Assignments
Touch(XPT) CLK CS DIN DO IRQ
S2-DevKItC 8 18 17 15 7










.


.
LCD:LGFX ( LovyanGFX ) 設定:
_ LCD Pin Assign:42176:pin mapinng, schematic, SSD1396,,pdf
_ LCD 16bit Set:Solder R16 with 0Ω resistor or short circuit directly,
_  and disconnect R8 .
_ 接続は 16ビットパラレルバスです。
_ Displayの仕様は 800×480で Panel width=800, Panel height=480 になります。
_ Touch は x_min=4150 , y_max=1400 としています。

//=====================================================================
// https://github.com/lovyan03/LovyanGFX/blob/master/examples/HowToUse/2_user_setting/2_user_setting.ino
//=====================================================================
class LGFX : public lgfx::LGFX_Device{
  lgfx::Panel_SSD1963  _panel_instance;
  lgfx::Bus_Parallel16 _bus_instance;//16bit Parallelのインスタンス(ESP32)
  lgfx::Touch_XPT2046  _touch_instance;

public:LGFX(void){         // バス制御の設定を行います。
  auto cfg = _bus_instance.config(); // バス設定用の構造体を取得します。
  // 16ビットパラレルバスの設定
  cfg.freq_write =50000000;// 送信クロック(最大20MHz,80MHzを整数割の値に丸める)
  cfg.pin_wr  = 45;        // WR を接続しているピン番号
  cfg.pin_rd  =  0;        // RD を接続しているピン番号
  cfg.pin_rs  = 47;        // RS(D/C)を接続しているピン番号
  cfg.pin_d0  = 14;        // D0 を接続しているピン番号
  cfg.pin_d1  = 13;        // D1 を接続しているピン番号
  cfg.pin_d2  = 12;        // D2 を接続しているピン番号
  cfg.pin_d3  = 11;        // D3 を接続しているピン番号
  cfg.pin_d4  = 10;        // D4 を接続しているピン番号
  cfg.pin_d5  =  9;        // D5 を接続しているピン番号
  cfg.pin_d6  = 46;        // D6 を接続しているピン番号
  cfg.pin_d7  =  3;        // D7 を接続しているピン番号
//cfg.pin_d8  = 35;        // D8 を接続しているピン番号
//cfg.pin_d9  = 36;        // D9 を接続しているピン番号
//cfg.pin_d10 = 37;        // D10を接続しているピン番号
//cfg.pin_d11 = 38;        // D11を接続しているピン番号
//cfg.pin_d12 = 39;        // D12を接続しているピン番号
//cfg.pin_d13 = 16;        // D13を接続しているピン番号
//cfg.pin_d14 =  4;        // D14を接続しているピン番号
//cfg.pin_d15 =  6;        // D15を接続しているピン番号
  _bus_instance.config(cfg);// 設定値をバスに反映します。
  _panel_instance.setBus(&_bus_instance); // バスをパネルにセットします。
  {// 表示パネル制御の設定
  auto cfg = _panel_instance.config(); // 表示パネル設定用の構造体を取得します。
  cfg.pin_cs       =    5; // CSが接続されているピン番号   (-1 = disable)
  cfg.pin_rst      =   -1; // RSTが接続されているピン番号  (-1 = disable)
  cfg.pin_busy     =   -1; // BUSYが接続されているピン番号 (-1 = disable)
  cfg.memory_width =  800; // ドライバICがサポートしている最大の幅
  cfg.memory_height=  480; // ドライバICがサポートしている最大の高さ
  cfg.panel_width  =  800; // 実際に表示可能な幅
  cfg.panel_height =  480; // 実際に表示可能な高さ
  cfg.offset_x     =    0; // パネルのX方向オフセット量
  cfg.offset_y     =    0; // パネルのY方向オフセット量
  cfg.offset_rotation = 0; // 回転方向の値のオフセット 0~7 (4~7は上下反転)
  cfg.dummy_read_pixel= 8; // ピクセル読出し前のダミーリードのビット数
  cfg.dummy_read_bits = 1; // ピクセル以外のデータ読出し前のダミーリードのビット数
  cfg.readable    =  true; // データ読出しが可能な場合 trueに設定
  cfg.invert      = false; // パネルの明暗が反転してしまう場合 trueに設定
  cfg.rgb_order   =  true; // パネルの赤と青が入れ替わってしまう場合 trueに設定
  cfg.dlen_16bit  = false; // データ長を16bit単位で送信するパネルの場合trueに設定
  cfg.bus_shared  = false; // SDカードとバス共有はtrueに設定
  _panel_instance.config(cfg);
  }
  { // mode and resolution 18bit/24bit 設定
   auto cfg = _panel_instance.config_timing_params();
// cfg.data_width = lgfx::Panel_SSD1963::is18bit;           // 18bitパネル
   cfg.data_width = lgfx::Panel_SSD1963::is18bit_dithering; // 18bitパネル(ディザリング有効)
// cfg.data_width = lgfx::Panel_SSD1963::is18bit_FRC;       // 18bitパネル(FRC有効)
// cfg.data_width = lgfx::Panel_SSD1963::is24bit;           // 24bitパネル
   cfg.pll_clock  = 160000000;                              // pll_clock設定
   cfg.refresh_rate = 100;                                  // リフレッシュレート設定
   _panel_instance.config_timing_params(cfg);
  }
  {// タッチスクリーン制御の設定を行います。(必要なければ削除)
  auto cfg = _touch_instance.config();
  cfg.x_min      = 4150;      // タッチスクリーンから得られる最小のX値(生の値)
  cfg.x_max      =    0;    // タッチスクリーンから得られる最大のX値(生の値)
  cfg.y_min      =    0;    // タッチスクリーンから得られる最小のY値(生の値)
  cfg.y_max      = 1400;    // タッチスクリーンから得られる最大のY値(生の値)
  cfg.pin_int    =    7;      // INTが接続されているピン番号
  cfg.bus_shared = false;  // 画面と共通のバスを使用している場合 trueを設定
  cfg.offset_rotation = 2; // 表示とタッチの向きの調整 0~7の値で設定
  // SPI接続の場合
  cfg.spi_host = SPI3_HOST;// 使用するSPIを選択 (HSPI_HOST or VSPI_HOST)
  cfg.freq     = 1000000;  // SPIクロックを設定
  cfg.pin_sclk =  8;       // SCLKが接続されているピン番号 : T_CLK
  cfg.pin_mosi = 17;       // MOSIが接続されているピン番号 : T_DIN
  cfg.pin_miso = 15;       // MISOが接続されているピン番号 : T_DO
  cfg.pin_cs   = 18;       //   CSが接続されているピン番号 : T_CS
  _touch_instance.config(cfg);
  _panel_instance.setTouch(&_touch_instance);//タッチスクリーンをパネルにセット
  }
  setPanel(&_panel_instance); // 使用するパネルをセットします。
  }
};
LGFX tft; // 準備したクラスのインスタンスを作成します。
//=====================================================================

.


.
他の表示例:32bit Digital Analyzer
縦480のサイズにより 32bit表示が可能です。


.
感想:
7 inch のサイズは 大きくて見やすいいです。
M5Stackの6個分の大きさです。
一度 このサイズを体験すると M5Stack 2inch等の小さな画面には 戻りにくくなります。
ESP32-S3-DevKitC-1:
16bit Parallel接続には GPIO数の多い ESP32-S3-DevKitC-1 は便利です。
表示は 16bit Parallelの効果によりスムーズです。

何故か lv_demo_widgets は表示しません。
原因追及と表示の為の調査は省略致しました。

.
.
.


.

CTE , 7inch , 800×480 、16bit , Parallel , ESP32-S3-DevKitC-1 ,

Written by macsbug

4月 21, 2022 at 11:28 am

カテゴリー: ESP32

5″ 16bit LCD and ESP32-S3

leave a comment »

5″ 800×480 16bit SSD1963 LCD を ESP32-S3-DevKitC-1で動かす方法。 2022.04.21


.
速度:16bit接続とバス周波数50MHzで最高の速度を達成しています。
Library:LovyanGFXを使用し高速表示が可能です。
_ 16ビットパラレルバスの設定は 通常40MHzですが
_ cfg.freq_write =50000000; の設定で 50MHz が使用できます。
_ 8ビットパラレルバスの設定は 通常40MHzですが
_ 50MHz, 60MHz が使用できます。
_ 使用環境によって上記周波数の設定が可能です。


.
目的:lv_example/src/ の 5つのデモ(demo)を動作させます。

Performance of lv_music_demo :
_ The average FPS is 18 , 23.5kB used (74 %), 25% frag. , 62FPS, 4% CPU


.
開発環境と構成:
HARD : ESP32-S3-DevKitC-1 , Aliexpress:without TELEC
HARD : ESP32-S3-DevKitC-1-NB , 秋月電子通商:with TELEC
– ESP32-S3:Datasheet
– ESP32-S3-WROOM-1:Datasheet
– ESPRESSIF:ESP32-S3-DevKitC-1
_ ESP32-S3-DevKitC-1:Schematic

HARD : 5″ 800×480 8bit/16bit Parallel SSD1963 Display Touch XPT2046
_ SKU:MRB5963
_ Driver IC:SSD1963
_ Resolution:800*480 (Pixel)
_ Module Interface:8bit/16bit parallel interface:
_ Touch IC:XPT2046:Data Sheet

Arduino IDE 1.8.19
_ Board : “ESP32S3 Dev Module”
_ USB Mode : “USB-OTG TinyUSB)”
_ USB CDC On Boot : “Enabled”
_ USB Firmware MSC On Boot : “Enabled (Require USB-OTG Mode)”
_ Upload Mode : “UART0 / Hardware CDC”
_ Port : “/dev/cu.usbmodem142402 (ESP32S3 Dev Module)”
Board Manager : arduino-esp32 2.0.3-RC1
Library Manager : lvgl 8.0.2
Library Manager : lv_examples 8.0.1
Library:LovyanGFX Develop
_ :LovyanGFXは ESP32 S3 及び 8bt, 16bit 対応が可能です。
_ 謝辞:LovyanGFX 開発者の らびやん氏に ESP32 S3 対応をして頂きました。

設定等は 以下を参照ください。
⭕️ LVGL 8.0.2 と lv_examples 8.0.1 の基本:LVGL 8 demo with M5Stack


.
🟢 Down Load:LVGL802_demo_16bitCTE_ESP32S3_DevkitC1.zip
DL後 pdf(_.pdf)を削除しzipを解凍します。
尚、lv_demo_widget は動作しない為 スケッチには記載していません。


.
USB Firmware MSC On Boot 機能:
UART Connector:UART書き込み時に使用します。
USB Connector:MSC接続時に使用します。

USB MSCは USB デバイスとして認識する機能です。
Arduin IDE Board managerにある
USB Mode : “USB-OTG (TinyUSB)”
USB CDC On Boot : “Enabled”
USB Firmware MSC On Boot : “Enabled (Requires USB-OTG Mode)”
にして書き込むと MSC機能が動作します。

S3 DevkitCを PCに接続すると ESP32-FWMSCアイコンが表示されます。
アイコンに .binを Drag & Dropすると瞬時にアプリが起動します。
Export compiled Binary済みの .binを用意しておけば Arduino IDEを起動したり
書き込み不要で USB接続の不具合や書き込み速度が遅いとかも無くなります。


.
部品リスト:6192円 ( $48 )

No. Nomen Purchase Price
1 5″ 800×480 16bit Parallel SSD1963
. Display with Touch
Sunton Store
. $32.77
.輸送機関=11日
4084円
1 5″ 800×480 16bit Parallel SSD1963
. Display with Touch
Diy Box Electronics Mall
. $32.21
4052円
2 ESP32-S3-DevKitC-1-N8

TELEC number sticker:201-220052
秋月電子通商 1840円
2 ESP32-S3-DevKitC-1
Made-in_china_Store
. $26.88
. 輸送期間 10day
3287円
3 ユニバーサル基板 72x47mm
秋月電子通商 120円
4 ピンソケット 2x20P 8.5mm
秋月電子通商 80円
5 プラスチックナット 10mm セット
秋月電子通商 100円

.
ESP32-S3-DevKitC-1
– 44 PIn で 36 の GPIO を備えています。
– USB Tip:CP2102。
– LDO:SGmICRO:SGM2213-3.3XKC3G/TR。
– EN端子の時定数:1.1μF + 10KΩ、τ=517μsec
– Without TELEC:ソフトで送信停止 又は アンテナ部に50Ωダミーロードを接続します。

LCD Display:
– sain SMART:5″ TFT Touch LCD
LCD Wiki5.0inch MCU Display Module User Manual
– 42176:pin mapinng, schematic, SSD1396,,pdf
– 種類が多数ありますのでご注意ください。
– Aliexpressの商品の価格変動は Price Archive で販売店のURLを入力すると見る事ができます。
.


.
配線図:

1. 全て3.3V 駆動です。
2. LCDは 200mA程度流れます。
3. Backlight Control:R4 0Ω LED A を選択(Jumper)すると
_ 基板上のLED電源回路が動作します。
4. メモ:LCD端子の右上3つ目の 5Vは 7inch LCDの時に使用されます。
_ 5inchの時は NC で使用されていません。


16bit Parallel and ESP32-S3-DevKitC-1 Pin Assignments
SSD1963 VDD GND BL RST CS RS WR RD
S3-DevKitC 3V3 GND 3V3 RST 5 47 45 0
16bit Parallel and ESP32-S3-DevKitC-1Pin Assignments
SSD1963 D0 D1 D2 D3 D4 D5 D6 D7
S3-DevKitC 14 13 12 11 10 9 46 3
16bit Parallel and ESP32-S2-Saola-1 Pin Assignments
SSD1963 D8 D9 D10 D11 D12 D13 D14 D15
S3-DevKitC 8 35 36 37 38 16 4 6
16bit Parallel and ESP32-S3-DevKitC-1 Pin Assignments
Touch(XPT) CLK CS DIN DO IRQ
S3-DevKitC 8 18 17 15 7










.


.
LCD:LGFX ( LovyanGFX ) 設定:
_ LCD Pin Assign:42176:pin mapinng, schematic, SSD1396,,pdf
_ LCD 16bit Set:Solder R16 with 0Ω resistor or short circuit directly,
_  and disconnect R8 .
_ 接続は 16ビットパラレルバスです。
_ Displayの仕様は 800×480で Panel width=800, Panel height=480 になります。
_ Touch は x_min=4150 , y_max=1400 としています。

//=====================================================================
// https://github.com/lovyan03/LovyanGFX/blob/master/examples/HowToUse/2_user_setting/2_user_setting.ino
//=====================================================================
class LGFX : public lgfx::LGFX_Device{
  lgfx::Panel_SSD1963  _panel_instance;
  lgfx::Bus_Parallel16 _bus_instance;//16bit Parallelのインスタンス(ESP32)
  lgfx::Touch_XPT2046  _touch_instance;

public:LGFX(void){         // バス制御の設定を行います。
  auto cfg = _bus_instance.config(); // バス設定用の構造体を取得します。
  // 16ビットパラレルバスの設定
  cfg.freq_write =50000000;// 送信クロック(最大20MHz,80MHzを整数割の値に丸める)
  cfg.pin_wr  = 45;        // WR を接続しているピン番号
  cfg.pin_rd  =  0;        // RD を接続しているピン番号
  cfg.pin_rs  = 47;        // RS(D/C)を接続しているピン番号
  cfg.pin_d0  = 14;        // D0 を接続しているピン番号
  cfg.pin_d1  = 13;        // D1 を接続しているピン番号
  cfg.pin_d2  = 12;        // D2 を接続しているピン番号
  cfg.pin_d3  = 11;        // D3 を接続しているピン番号
  cfg.pin_d4  = 10;        // D4 を接続しているピン番号
  cfg.pin_d5  =  9;        // D5 を接続しているピン番号
  cfg.pin_d6  = 46;        // D6 を接続しているピン番号
  cfg.pin_d7  =  3;        // D7 を接続しているピン番号
  cfg.pin_d8  = 35;        // D8 を接続しているピン番号
  cfg.pin_d9  = 36;        // D9 を接続しているピン番号
  cfg.pin_d10 = 37;        // D10を接続しているピン番号
  cfg.pin_d11 = 38;        // D11を接続しているピン番号
  cfg.pin_d12 = 39;        // D12を接続しているピン番号
  cfg.pin_d13 = 16;        // D13を接続しているピン番号
  cfg.pin_d14 =  4;        // D14を接続しているピン番号
  cfg.pin_d15 =  6;        // D15を接続しているピン番号
  _bus_instance.config(cfg);// 設定値をバスに反映します。
  _panel_instance.setBus(&_bus_instance); // バスをパネルにセットします。
  {// 表示パネル制御の設定
  auto cfg = _panel_instance.config(); // 表示パネル設定用の構造体を取得します。
  cfg.pin_cs       =    5; // CSが接続されているピン番号   (-1 = disable)
  cfg.pin_rst      =   -1; // RSTが接続されているピン番号  (-1 = disable)
  cfg.pin_busy     =   -1; // BUSYが接続されているピン番号 (-1 = disable)
  cfg.memory_width =  800; // ドライバICがサポートしている最大の幅
  cfg.memory_height=  480; // ドライバICがサポートしている最大の高さ
  cfg.panel_width  =  800; // 実際に表示可能な幅
  cfg.panel_height =  480; // 実際に表示可能な高さ
  cfg.offset_x     =    0; // パネルのX方向オフセット量
  cfg.offset_y     =    0; // パネルのY方向オフセット量
  cfg.offset_rotation = 0; // 回転方向の値のオフセット 0~7 (4~7は上下反転)
  cfg.dummy_read_pixel= 8; // ピクセル読出し前のダミーリードのビット数
  cfg.dummy_read_bits = 1; // ピクセル以外のデータ読出し前のダミーリードのビット数
  cfg.readable    =  true; // データ読出しが可能な場合 trueに設定
  cfg.invert      = false; // パネルの明暗が反転してしまう場合 trueに設定
  cfg.rgb_order   =  true; // パネルの赤と青が入れ替わってしまう場合 trueに設定
  cfg.dlen_16bit  =  true; // データ長を16bit単位で送信するパネルの場合trueに設定
  cfg.bus_shared  =  true; // SDカードとバス共有はtrueに設定
  _panel_instance.config(cfg);
  }
  { // mode and resolution 18bit/24bit 設定
   auto cfg = _panel_instance.config_timing_params();
// cfg.data_width = lgfx::Panel_SSD1963::is18bit;           // 18bitパネル
   cfg.data_width = lgfx::Panel_SSD1963::is18bit_dithering; // 18bitパネル(ディザリング有効)
// cfg.data_width = lgfx::Panel_SSD1963::is18bit_FRC;       // 18bitパネル(FRC有効)
// cfg.data_width = lgfx::Panel_SSD1963::is24bit;           // 24bitパネル
   cfg.pll_clock  = 160000000;                              // pll_clock設定
   cfg.refresh_rate = 100;                                  // リフレッシュレート設定
   _panel_instance.config_timing_params(cfg);
  }
  {// タッチスクリーン制御の設定を行います。(必要なければ削除)
  auto cfg = _touch_instance.config();
  cfg.x_min      = 4150;      // タッチスクリーンから得られる最小のX値(生の値)
  cfg.x_max      =    0;    // タッチスクリーンから得られる最大のX値(生の値)
  cfg.y_min      =    0;    // タッチスクリーンから得られる最小のY値(生の値)
  cfg.y_max      = 1400;    // タッチスクリーンから得られる最大のY値(生の値)
  cfg.pin_int    =    7;      // INTが接続されているピン番号
  cfg.bus_shared = false;  // 画面と共通のバスを使用している場合 trueを設定
  cfg.offset_rotation = 2; // 表示とタッチの向きの調整 0~7の値で設定
  // SPI接続の場合
  cfg.spi_host = SPI3_HOST;// 使用するSPIを選択 (HSPI_HOST or VSPI_HOST)
  cfg.freq     = 1000000;  // SPIクロックを設定
  cfg.pin_sclk =  8;       // SCLKが接続されているピン番号 : T_CLK
  cfg.pin_mosi = 17;       // MOSIが接続されているピン番号 : T_DIN
  cfg.pin_miso = 15;       // MISOが接続されているピン番号 : T_DO
  cfg.pin_cs   = 18;       //   CSが接続されているピン番号 : T_CS
  _touch_instance.config(cfg);
  _panel_instance.setTouch(&_touch_instance);//タッチスクリーンをパネルにセット
  }
  setPanel(&_panel_instance); // 使用するパネルをセットします。
  }
};
LGFX tft; // 準備したクラスのインスタンスを作成します。
//=====================================================================

.


.
感想:
5 inch のサイズは 大きくて見やすいいです。
一度 このサイズを体験すると M5Stack 2inch等の小さな画面には 戻りにくくなります。
ESP32-S3-DevKitC-1:
16bit Parallel接続には GPIO数の多い ESP32-S3-DevKitC-1 は便利です。
表示は 16bit Parallelの効果によりスムーズです。

何故か lv_demo_widgets は表示しません。
原因追及と表示の為の調査は省略致しました。.
.
.


.

CTE , 800×480 、16bit , Parallel , ESP32-S3-DevKitC-1 ,

Written by macsbug

4月 21, 2022 at 9:04 am

カテゴリー: ESP32

List of 2022

leave a comment »

2022年度リスト                                          2022.12.31

List of 2021:2022.12.31
List of 2020:2021.12.31
List of 2019:2019.12.31
List of 2018:2019.12.31
List of 2017:2019.12.31
List of 2016:2019.12.31
List of 2015:2019.12.31
List of 2014, 2012, 2011:2019.12.31

2022年の記事をリストにしました。随時追加します。

Date View Title / Content cost
2022
12/31
MAR4018 and ESP32 S3

4.0 inch 800×480 16bit Parallel

3890円
2022
11/29
ESP32-8048S043

4.3″ 800×480

3790円
2022
10/25
Super M5Stack 2765円
2022
10/03
WiFi Console 1490円
2022
09/16
ESP32-3248S035 2314円
2022
08/20
Web Radio ESP32-2432S028-I2S 2300円
2022
08/17
ESP32-2432S028 1480円
2022
08/xx
3.5″ 16bit LCD and S3 MiniKit 4040円
2022
08/01
Make an ESP32 S3 MiniKit 1090円
2022
07/16
Weather and Kyoshin
2022
07/08
USB Cable Tester
for M5Stack
900円
2022
06/08
Let’s revive the broken M5Stack 640円
2022
05/06
Modified SPI Display
to 16bit Parallel
3320円
2022
05/04
S2miniBOX made
with Raspberry Pi Case
3490円
2022
05/03
MiniKitBOX made
with Raspberry Pi Case
3425円
2022
04/21

7″ 16bit LCD
and ESP32-S3

7228円
2022
04/21

5″ 16bit LCD
and ESP32-S3

6192円
2022
04/07

5″ 800×480 LCD
and ESP32 S2 mini

4987円
2022
04/

5″ 800×480 LCD
and ESP32 MiniKIT

4940円
2022
03/27

LCD and ESP32 speeds
with LovyanGFX

2022
03/24

lvgl 8 demo with 800×480 LCD
and ESP32 S2 WROVER

6325円
2022
03/16

LVGL 8 demo with 16bit MRB3511
and S2 mini

3240円
2022
03/15

LVGL 8 demo with 16bit MRB3511
and T8 ESP32-S2

3550円
2022
03/14

LVGL 8 demo with 16bit MRB3511
and ESP32 S2 WROVER

3550円
2022
03/13

LVGL 8 demo with ILI9486
and MiniKIT

3200円
2022
03/12

LVGL 8 demo with 8bit_MRB3511
and MiniKIT

3190円
2022
03/10

LVGL 8 demo with WT32-SC01

4880円
2022
03/08

LVGL 8 demo with LILY PI

5710円
2022
03/07

LVGL 8 demo with M5Stamp C3
and MiniKIT

 3380円
2022
03/05

M5Stamp C3 and MiniKit BOX

3380円
2022
03/04
LVGL 8 demo with m5Stack
2022
02/15

Resistor CALC with M5Stack
and M5Stamp C3

2022
02/09

Operate ILI9488 with M5Stamp C3

2600円
2022
01/16

M5Stamp C3 and battery

973円

 


感想:
記事の全体が見づらい為に、年度毎のリストを作りました。
左から 日付、画像、名前とリンクと説明、費用 で分類しています。


 

Written by macsbug

4月 17, 2022 at 6:19 am

カテゴリー: ESP32, M5STACK

5″ 800×480 LCD and ESP32 S2 mini

leave a comment »

5″ 800×480 16bit Parallel LCD を ESP32 S2 miniで動かす方法。 2022.04.07





.
目的1:16bit と 8bit parallelの速度を比較します。
_ 速度テストのプログラムは TFT_graphicstest PDQ です。
_ グラフの一番上の 16bit_800x480_S2mini (青色)が 今回のボードです。
_ 今回のボードでの 8bit 動作は 8bit_800x480_S2mini (緑色)です。
_ 16bit は 8bitの2倍の速度になります。 (青と緑色)
_ 他の速度比較は LCD and ESP32 speeds with LovyanGFX を参照ください。
_ グラフにはありませんが Raytraceプログラムでは 16bitは 56046msec,
_ 8bitでは 54577msecで 16bitが必ずしも速いとは限りません。

目的2:lv_example/src/ の 5つのデモ(demo)を動作させます。

Performance of lv_music_demo :
_ The average FPS is 22 , 23.5kB used (74 %), 25% frag. , 62FPS, 3% CPU


.
開発環境と構成:
HARD : ESP32 S2 mini without TELEC
HARD : 5″ 800×480 8bit/16bit Parallel SSD1963 Display Touch XPT2046
_ SKU:MRB5963
_ Driver IC:SSD1963
_ Resolution:800*480 (Pixel)
_ Module Interface:8bit/16bit parallel interface:
_ Touch IC:XPT2046:Data Sheet

Arduino IDE 1.8.19
_ Board : “ESP32S2 Dev Module”
_ USB CDC On Boot : “Enabled”
_ USB Firmware MSC On Boot : “Enabled”:USBデバイスとして認識します。
_ PSRAM : “Enabled”
_ Port : /dev/cu.usbmodem01 (ESP32 S2 Dev Module)
Board Manager : arduino-esp32 2.0.3-RC1
Library Manager : lvgl 8.0.2
Library Manager : lv_examples 8.0.1
Library:LovyanGFX Develop

設定等は 以下を参照ください。
⭕️ LVGL 8.0.2 と lv_examples 8.0.1 の基本:LVGL 8 demo with M5Stack


.
🟢 Down Load:LVGL 8.0.2 のデモ(demo)です。
LVGL802_demo_16bitCTE_S2mini.zip
DL後 pdf(_.pdf)を削除しzipを解凍します。

🟢 Down Load:LVGL 8.0.2 lv_demo_music の bin File です。
LVGL802_demo_16bitCTE_S2mini.ino.esp32s2.bin.zip
DL後 pdf(_.pdf)を削除しzipを解凍し bin にします。
ESP32-FWMSC アイコンにDrag & Drop で動作します。

書き込み方法:
LVGL 8 demo with 16bit MRB3511 and S2 mini を参照します。


.
部品リスト:4987円 ( $37 )

No. Nomen Purchase Price
1 5inch 800×480 16bit Parallel SSD1963
. Display with Touch
Sunton Store
. $32.77
. 輸送期間 11day
4084円
1 7inch 800×480 16bit Parallel SSD1963
. Display with Touch
Sunton Store
. $38.07
. 輸送期間 11day
4730円
2 ESP32 S2 mini V1.0.0
LOLIN Official Store
. $7.85
. 輸送期間 11day
921円
2 ESP32 S2 mini V1.0.0 TENSTAR Store $4.37 603円
2 ESP32 S2 mini V1.0.0 SuperModule Store $4.42 611円
3 ユニバーサル基板 72x47mm
秋月電子通商 120円
4 ピンソケット 2x20P 8.5mm
秋月電子通商 80円
7 プラスチックナット 10mm セット
秋月電子通商 100円

.
ESP32 S2 mini:
– 32 PIn で 27 の GPIO を備えています。16bit配線が可能です。
– LDO:ME6211-3.3V を使用し ESP32 MiniKITと同じで max 500mAです。
– EN端子の時定数:100nF + 10KΩ、τ=4.7μsec
– Without TELEC:ソフトで送信停止 又は アンテナに50Ωダミーロードを接続します。

LCD Display:
– Driver:SSD1963:SSD1963QL9
– sain SMART:5″ TFT Touch LCD
LCD Wiki5.0inch MCU Display Module User Manual
– 42176:pin mapinng, schematic, SSD1396,,pdf
– 種類が多数ありますのでご注意ください。
– Aliexpressの価格変動は Price Archive で販売店のURLを入力すると見る事ができます。


.
配線図:

1. 5inch は 全て3.3V 駆動です。
2. USB(5V)の電流は 430mA程度流れます。
_ S2 mini に使用している LDOME6211-3.3V
_ Maximum OUTPUT Current は 500mAです。
3. Backlight Control:R4 0Ω LED A を選択(Jumper)すると
_ 基板上のLED電源回路が動作します。コントロール信号は LED_A です。
4. GPIO_0, 2 は WR, Data に接続しない事。理由:起動時に使用する為。
5. *5V:7inch 800×480 16bit Parallel SSD1963 LCD を使用する時は
_ BackLight LEDの電源として 5V を使用します。通常は NC(未使用端子)です。
_ 他のコネクターピンは全てピンコンパチ(同じ)です。
_ 5Vの配線は 5inch への影響はありません。( 5inch は NCで未使用の為)
6. Arduino Library UTFT.h に於ける 5inch の名前は CTE50 です。800×480
7. Arduino Library UTFT.h に於ける 7inch の名前は CTE70 です。800×480 Alternative


16bit Parallel and S2 mini Pin Assignments
SSD1963 VDD GND LED *5V RST CS RS WR RD
S2 mini 3V3 GND 3V3 *5V RST 1 17 21 34
16bit Parallel CTE and S2 mini Pin Assignments
SSD1963 D0 D1 D2 D3 D4 D5 D6 D7
S2 mini 14 13 16 18 33 35 37 39
16bit Parallel CTE and S2 mini Assignments
SSD1963 D8 D9 D10 D11 D12 D13 D14 D15
S2 mini 36 38 40 11 9 7 4 2
16bit Parallel and S2 mini Pin Assignments
Touch(XPT) CLK CS DIN DO IRQ
S2 mini 10 8 6 5 3






.


.
CTE:LGFX ( LovyanGFX ) 設定:
_ CTE Pin Assign:42176:pin mapinng, schematic, SSD1396,,pdf
_ CTE 16bit Set:Solder R16 with 0Ω resistor or short circuit directly,
_  and disconnect R8 .
_ 接続は 16ビットパラレルバスです。
_ Displayの仕様は 800×480で Panel width=800, Panel height=480 になります。
_ Touch は x_min=4150 , y_max=1400 としています。

//=====================================================================
// https://github.com/lovyan03/LovyanGFX/blob/master/examples/HowToUse/2_user_setting/2_user_setting.ino
//=====================================================================
class LGFX : public lgfx::LGFX_Device{
  lgfx::Panel_SSD1963  _panel_instance;
  lgfx::Bus_Parallel16 _bus_instance;//16bit Parallelのインスタンス(ESP32)
  lgfx::Touch_XPT2046  _touch_instance;

public:LGFX(void){         // バス制御の設定を行います。
  auto cfg = _bus_instance.config(); // バス設定用の構造体を取得します。
  // 16ビットパラレルバスの設定
  cfg.freq_write =10000000;// 送信クロック(最大20MHz,80MHzを整数割の値に丸める)
  cfg.pin_wr  = 21;        // WR を接続しているピン番号
  cfg.pin_rd  = 34;        // RD を接続しているピン番号
  cfg.pin_rs  = 17;        // RS(D/C)を接続しているピン番号
  cfg.pin_d0  = 14;        // D0 を接続しているピン番号
  cfg.pin_d1  = 13;        // D1 を接続しているピン番号
  cfg.pin_d2  = 16;        // D2 を接続しているピン番号
  cfg.pin_d3  = 18;        // D3 を接続しているピン番号
  cfg.pin_d4  = 33;        // D4 を接続しているピン番号
  cfg.pin_d5  = 35;        // D5 を接続しているピン番号
  cfg.pin_d6  = 37;        // D6 を接続しているピン番号
  cfg.pin_d7  = 39;        // D7 を接続しているピン番号
  cfg.pin_d8  = 36;        // D8 を接続しているピン番号
  cfg.pin_d9  = 38;        // D9 を接続しているピン番号
  cfg.pin_d10 = 40;        // D10を接続しているピン番号
  cfg.pin_d11 = 11;        // D11を接続しているピン番号
  cfg.pin_d12 =  9;        // D12を接続しているピン番号
  cfg.pin_d13 =  7;        // D13を接続しているピン番号
  cfg.pin_d14 =  4;        // D14を接続しているピン番号
  cfg.pin_d15 =  2;        // D15を接続しているピン番号
  _bus_instance.config(cfg);// 設定値をバスに反映します。
  _panel_instance.setBus(&_bus_instance); // バスをパネルにセットします。
  {// 表示パネル制御の設定
  auto cfg = _panel_instance.config(); // 表示パネル設定用の構造体を取得します。
  cfg.pin_cs       =    1; // CSが接続されているピン番号   (-1 = disable)
  cfg.pin_rst      =   -1; // RSTが接続されているピン番号  (-1 = disable)
  cfg.pin_busy     =   -1; // BUSYが接続されているピン番号 (-1 = disable)
  cfg.memory_width =  800; // ドライバICがサポートしている最大の幅
  cfg.memory_height=  480; // ドライバICがサポートしている最大の高さ
  cfg.panel_width  =  800; // 実際に表示可能な幅
  cfg.panel_height =  480; // 実際に表示可能な高さ
  cfg.offset_x     =    0; // パネルのX方向オフセット量
  cfg.offset_y     =    0; // パネルのY方向オフセット量
  cfg.offset_rotation = 0; // 回転方向の値のオフセット 0~7 (4~7は上下反転)
  cfg.dummy_read_pixel= 8; // ピクセル読出し前のダミーリードのビット数
  cfg.dummy_read_bits = 1; // ピクセル以外のデータ読出し前のダミーリードのビット数
  cfg.readable    =  true; // データ読出しが可能な場合 trueに設定
  cfg.invert      = false; // パネルの明暗が反転してしまう場合 trueに設定
  cfg.rgb_order   =  true; // パネルの赤と青が入れ替わってしまう場合 trueに設定
  cfg.dlen_16bit  =  true; // データ長を16bit単位で送信するパネルの場合trueに設定
  cfg.bus_shared  = false; // SDカードとバス共有はtrueに設定
  _panel_instance.config(cfg);
  }
  {// タッチスクリーン制御の設定を行います。(必要なければ削除)
  auto cfg = _touch_instance.config();
  cfg.x_min      = 4150;   // タッチスクリーンから得られる最小のX値(生の値)
  cfg.x_max      = 0;      // タッチスクリーンから得られる最大のX値(生の値)
  cfg.y_min      = 0;      // タッチスクリーンから得られる最小のY値(生の値)
  cfg.y_max      = 1400;   // タッチスクリーンから得られる最大のY値(生の値)
  cfg.pin_int    = 3;      // INTが接続されているピン番号
  cfg.bus_shared = false;  // 画面と共通のバスを使用している場合 trueを設定
  cfg.offset_rotation = 6; // 表示とタッチの向きの調整 0~7の値で設定
  // SPI接続の場合
  cfg.spi_host = HSPI_HOST;// 使用するSPIを選択 (HSPI_HOST or VSPI_HOST)
  cfg.freq     = 1000000;  // SPIクロックを設定
  cfg.pin_sclk = 10;       // SCLKが接続されているピン番号 : T_CLK
  cfg.pin_mosi = 6;        // MOSIが接続されているピン番号 : T_DIN
  cfg.pin_miso = 5;        // MISOが接続されているピン番号 : T_DO
  cfg.pin_cs   = 8;        // CSが接続されているピン番号   : T_CS
  _touch_instance.config(cfg);
  _panel_instance.setTouch(&_touch_instance);//タッチスクリーンをパネルにセット
  }
  setPanel(&_panel_instance); // 使用するパネルをセットします。
  }
};
LGFX tft; // 準備したクラスのインスタンスを作成します。
//=====================================================================

.


.
感想:
ESP32 S2 miniで 16bit Parallel接続が可能です。
LCDは高めですが S2 miniは 16bit化の中で最安値の価格になります。

何故か lv_demo_widgets は表示しません。
原因追及と表示の為の調査は省略致しました。.
.
.


.

CTE , 800×480 、16bit , Parallel , ESP32 S2 mini ,

Written by macsbug

4月 7, 2022 at 7:03 am

カテゴリー: ESP32

5″ 800×480 LCD and ESP32 MiniKIT

leave a comment »

5″ 800×480 16bit Paralell LCD を ESP32 MiniKITで動かす方法。   2022.04.06





.
目的1:速度を比較します。
ES232 MiniKIT 8bit は ESP32 S2 WROVER 8bit と同じ速度です。

目的2:lv_example/src/ の 5つのデモ(demo)を動作させます。

Performance of lv_music_demo :
_ The average FPS is 22 , 23.5kB used (74 %), 25% frag. , 62FPS, 3% CPU


.
開発環境と構成:
HARD : MH ET LIVE ESP32 MiniKIT with TELEC
HARD : 5″ 800×480 8bit/16bit Parallel SSD1963 Display Touch XPT2046
_ SKU:MRB5963
_ Driver IC:SSD1963
_ Resolution:800*480 (Pixel)
_ Module Interface:8bit/16bit parallel interface:
_ Touch IC:XPT2046:Data Sheet

Arduino IDE 1.8.19
_ Board : “MH ET LIVE ESP32Minikit”
_ Port : “/dev/cu.wchusvserial52770076621”
Board Manager : arduino-esp32 2.0.2
Library Manager : lvgl 8.0.2
Library Manager : lv_examples 8.0.1
Library:LovyanGFX Develop

設定等は 以下を参照ください。
⭕️ LVGL 8.0.2 と lv_examples 8.0.1 の基本:LVGL 8 demo with M5Stack


.
🟢 Down Load:LVGL 8.02 のデモ(demo)です。
LVGL802_demo_8bitCTE_MiniKIT.zip
DL後 pdf(_.pdf)を削除しzipを解凍します。
尚、lv_demo_widget は動作しません。

🟢 Down Load:LVGLによる画像表示です。
画像:aka_fuji, fuji, fuji36, iPhone_color, MonaLisa, nihonbashi, Sunday_on, tokyo
を表示できます。
LVGL802_png_800x480_8bit_MiniKIT.zip
DL後 pdf(_.pdf)を削除しzipを解凍します。


.
部品リスト:4944円 ( $40 ):800×480 LCD と ESP32 では最安値の構成です。

No. Nomen Purchase Price
1 5″ 800×480 16bit Parallel SSD1963
. Display with Touch
Sunton Store
. $32.77
.輸送期間 11day
4084円
2 MH ET LIVE ESP32 MIniKIT
WAGAT official Store
. 10個:5585円
. 1個560円
. 輸送期間 10day
560円
3 ユニバーサル基板 72x47mm
秋月電子通商 120円
4 ピンソケット 2x20P 8.5mm
秋月電子通商 80円
7 プラスチックナット 10mm セット
秋月電子通商 100円

LCD Display:
– sain SMART:5″ TFT Touch LCD
LCD Wiki5.0inch MCU Display Module User Manual
– 42176:pin mapinng, schematic, SSD1396,,pdf
– 種類が多数ありますのでご注意ください。
– Aliexpressの価格変動は Price Archive で販売店のURLを入力すると見る事ができます。


.
配線図:

1. 全て3.3V 駆動です。
2. LCDは 200mA程度流れます。
3. Backlight Control:R4 0Ω LED A を選択(Jumper)すると
_ 基板上のLED電源回路が動作します。
4. GPIO_0,2 は WR, Data に接続しない事。理由:起動時に使用する為。


8bit Parallel and MiniKIT Pin Assignments
SSD1963 VDD GND BL RST CS RS WR RD
MiniKIT 3V3 GND 3V3 RST 26 2 21 0
8bit Parallel CTE and MiniKIT Pin Assignments
SSD1963 D0 D1 D2 D3 D4 D5 D6 D7
MiniKIT 5 15 22 16 17 4 12 32
8bit Parallel and MiniKIT Pin Assignments
Touch(XPT) CLK CS DIN DO IRQ
MiniKIT 25 27 19 33 18







.


.
CTE:LGFX ( LovyanGFX ) 設定:
_ CTE Pin Assign:42176:pin mapinng, schematic, SSD1396,,pdf
_ CTE 16bit Set:Solder R16 with 0Ω resistor or short circuit directly,
_  and disconnect R8 .
_ 接続は 8ビットパラレルバスです。
_ Displayの仕様は 800×480で Panel width=800, Panel height=480 になります。
_ Touch は x_min=4150 , y_max=1400 としています。

//=====================================================================
// https://github.com/lovyan03/LovyanGFX/blob/master/examples/HowToUse/2_user_setting/2_user_setting.ino
//=====================================================================
class LGFX : public lgfx::LGFX_Device{
  lgfx::Panel_SSD1963 _panel_instance;
  lgfx::Bus_Parallel8 _bus_instance;//8bit Parallelのインスタンス(ESP32)
  lgfx::Touch_XPT2046 _touch_instance;

public:LGFX(void){         // バス制御の設定を行います。
  auto cfg = _bus_instance.config(); // バス設定用の構造体を取得します。
  // 16ビットパラレルバスの設定
  cfg.freq_write =10000000;// 送信クロック(最大20MHz,80MHzを整数割の値に丸める)
  cfg.pin_wr  = 21;        // WR を接続しているピン番号
  cfg.pin_rd  =  0;        // RD を接続しているピン番号
  cfg.pin_rs  =  2;        // RS(D/C)を接続しているピン番号
  cfg.pin_d0  =  5;        // D0 を接続しているピン番号
  cfg.pin_d1  = 15;        // D1 を接続しているピン番号
  cfg.pin_d2  = 22;        // D2 を接続しているピン番号
  cfg.pin_d3  = 16;        // D3 を接続しているピン番号
  cfg.pin_d4  = 17;        // D4 を接続しているピン番号
  cfg.pin_d5  =  4;        // D5 を接続しているピン番号
  cfg.pin_d6  = 12;        // D6 を接続しているピン番号
  cfg.pin_d7  = 32;        // D7 を接続しているピン番号
  _bus_instance.config(cfg);// 設定値をバスに反映します。
  _panel_instance.setBus(&_bus_instance); // バスをパネルにセットします。
  {// 表示パネル制御の設定
  auto cfg = _panel_instance.config(); // 表示パネル設定用の構造体を取得します。
  cfg.pin_cs       =   26; // CSが接続されているピン番号   (-1 = disable)
  cfg.pin_rst      =   -1; // RSTが接続されているピン番号  (-1 = disable)
  cfg.pin_busy     =   -1; // BUSYが接続されているピン番号 (-1 = disable)
  cfg.memory_width =  800; // ドライバICがサポートしている最大の幅
  cfg.memory_height=  480; // ドライバICがサポートしている最大の高さ
  cfg.panel_width  =  800; // 実際に表示可能な幅
  cfg.panel_height =  480; // 実際に表示可能な高さ
  cfg.offset_x     =    0; // パネルのX方向オフセット量
  cfg.offset_y     =    0; // パネルのY方向オフセット量
  cfg.offset_rotation = 0; // 回転方向の値のオフセット 0~7 (4~7は上下反転)
  cfg.dummy_read_pixel= 8; // ピクセル読出し前のダミーリードのビット数
  cfg.dummy_read_bits = 1; // ピクセル以外のデータ読出し前のダミーリードのビット数
  cfg.readable    =  true; // データ読出しが可能な場合 trueに設定
  cfg.invert      = false; // パネルの明暗が反転してしまう場合 trueに設定
  cfg.rgb_order   =  true; // パネルの赤と青が入れ替わってしまう場合 trueに設定
  cfg.dlen_16bit  = false; // データ長を16bit単位で送信するパネルの場合trueに設定
  cfg.bus_shared  = false; // SDカードとバス共有はtrueに設定
  _panel_instance.config(cfg);
  }
  {// タッチスクリーン制御の設定を行います。(必要なければ削除)
  auto cfg = _touch_instance.config();
  cfg.x_min      = 4150;   // タッチスクリーンから得られる最小のX値(生の値)
  cfg.x_max      =    0;   // タッチスクリーンから得られる最大のX値(生の値)
  cfg.y_min      =    0;   // タッチスクリーンから得られる最小のY値(生の値)
  cfg.y_max      = 1400;   // タッチスクリーンから得られる最大のY値(生の値)
  cfg.pin_int    =   18;   // INTが接続されているピン番号
  cfg.bus_shared = false;  // 画面と共通のバスを使用している場合 trueを設定
  cfg.offset_rotation = 2; // 表示とタッチの向きの調整 0~7の値で設定
  // SPI接続の場合
  cfg.spi_host = HSPI_HOST;// 使用するSPIを選択 (HSPI_HOST or VSPI_HOST)
  cfg.freq     = 1000000;  // SPIクロックを設定
  cfg.pin_sclk = 25;       // SCLKが接続されているピン番号 : T_CLK
  cfg.pin_mosi = 19;       // MOSIが接続されているピン番号 : T_DIN
  cfg.pin_miso = 33;       // MISOが接続されているピン番号 : T_DO
  cfg.pin_cs   = 27;       //   CSが接続されているピン番号 : T_CS
  _touch_instance.config(cfg);
  _panel_instance.setTouch(&_touch_instance);//タッチスクリーンをパネルにセット
  }
  setPanel(&_panel_instance); // 使用するパネルをセットします。
  }
};
LGFX tft; // 準備したクラスのインスタンスを作成します。
//=====================================================================

.


.
感想:
ESP32 MiniKIT で 8bit Parallel接続が可能です。
LCDの価格は高いですが ESP32 では 最安値の構成です。
ESP32 S2 , S3 等は without TELEC ですので 電波出力停止の為に
ソフトで電波出力停止(WiFi.disconnect(true);), の設定や
アンテナにダミーロードを接続します。
ESP32 MiniKIT は with TELEC ですので WiFi通信は可能です。

何故か lv_demo_widgets は表示しません。
原因追及と表示の為の調査は省略致しました。.
.
.


.

CTE , 800×480 、8bit , Parallel , ESP32 MiniKIT ,

Written by macsbug

4月 6, 2022 at 4:43 pm

カテゴリー: ESP32