○はじめにさて、前回、AliExpressで購入した
ESP32-S3-Touch-LCD-1.28の開発環境を紹介します。
(海外サイトの製品なので、おそらく技適の問題もあり、自己責任でお願いします。)
一応、Amazon.co.jpでも販売されております。
○手順実は、
ここのWikiに全て書かれているので、それを見るようにの一言でだいたい終わりです。
ただ、記載されている
lgvlのライブラリをそのまま使うと動作しないという罠が潜んでおり、そこの回避に苦労しました。
ちなみに、開発環境はいくつかあるみたいですが、私は"
Arduino IDE"を使用しました。
1. ArduinoのサイトからArduino IDEをダウンロード。
(Macでも一応動くのですが、フルコンパイルが入ったりと時間がかかるので、WindowsデスクトップPCにインストールしました。)
2. ここのリンクに従って、"Arduino-ESP32 support"をインストール。3. 同様に先ほどのWikiに従って、以下の設定を行う。
1) Search esp32 on Board Manager to install, and restart Arduino IDE to take effect.
2) Enter Arduino IDE, and select Tool -> 16MB Flash and enable QSPI PSRAM as shown below:
私自身、うろ覚えなのですが・・
USB Type-CをESP32-S3-Touch-LCD-1.28に接続すると、COMポートが表示され、そこで"ESP32 S3 DevModule"を選択し、その後にFlashとQSPI PSRAMの設定を行った覚えがあります。
4. TFT_eSPIライブラリのインストール。ここのWikiにある
Esp32-s3-touch-lcd-libをダウンロードし、C:\Users\xxxx\Documents\Arduino\librariesにTFT_eSPI_Setups,とTFT_eSPIフォルダだけをコピー。(lvglは使いません。)
5. lvglのライブラリのインストール。 lvglは別製品である
ここのサイトからダウンロードします。
このサイトは、購入した製品とそっくりですが、ピンのアサイン、タッチの部品が違い、別製品です。
ただ、主部品であるESP32・Display Chip GC9A01Aが共通なので、アサインされているピンさえ合わせれば、デモソフトは動きます。
このライブラリ
Esp32-s3-lcd-1.28-libをダウンロード、lvglフォルダだけをC:\Users\xxxx\Documents\Arduino\librariesにコピーします。
6. デモソフトのダウンロード。先ほどのサイトからデモソフト
Sample demoをダウンロードし、LVGL_Arduinoディレクトリだけをどこか適当にコピーします。
7. デモソフトをコンパイルして実機にフラッシュします。コピーしたLVGL_Arduinoディレクトリ下のLVGL_Arduino.inoをダブルクリックしてArduinoが起動し、COMポートとESP32 S3 DevModuleを設定して、メニュー-> Sketch -> Uploadをクリックすれば、コンパイルが実行され実機にフラッシュされて、以下のようなデモソフトが起動します。
タッチを設定する場合、
オリジナルのWikiに記載されている
Sample demoをダウンロードし、LVGL_ArduinoディレクトリのCTS816S.cpp、CST816S.hとそれに付随するソースコードの部分を先ほど動かしたデモソフトにマージすれば、動作します。
参考までに。