macsbug

2.4 Inch TFT Display For ESP32

leave a comment »

ESP32 で TFT Display を使用する方法。              2016.12.17
ディスプレー は 2.4 inch 240×320 SPI TFT LCD ILI9341 を使用し
ESP32DEVKIT V1NANO32 を使用しました。

費用は 3337円です。( ESP32ボードD1 mini  の約5倍です )

2016.04.16 に ESP8266 + 2.4 inch TFT Display の記事を記載しました。
ESP8266と同じ内容ですが ESP32とライブラリーの動作を試しました。
ライブラリーとスケッチは Adafruit ILI9341 graphicstest です。


.
DEVKIT V1 ( with TELEC ):ESP32 Development Board。

NANO32 ( without TELEC )
Font Converter (squix : Daniel Eichhor) による文字は奇麗です。

Adafruit の フォント表示。”Group” の文字は 5倍してギザギザです。


ESP32の速度:ESP8266 の 2.2 倍高速です。
_ 条件は 同じ回路 及び 同じスケッチ(Adafruit ILI9341 graphicstest
_ で速度を比較。ただし ESP8266 は 周波数は160MHz にする事と
_ Wdt Error を出す為に 多数の yield(); を入れています。
_ ESP32=37.8sec, ESP8266=84.2msec。


.
準備:
費用=3337円 ( without Touch Panel ):
費用=4497円 ( with      Touch Panel ): 価格は円レートで変動します。
販売業者によっては価格を上げる所があり都度 最低価格を探します。

No.  Nomen  Link  Price  Memo
1  ESP32: DEVKIT V1  ebay 1742円  1個
 2a  2.4 inch TFT Display  ebay   811円  1個
 2b  2.4 inch TFT Display + Touch  ebay  1125円  タッチ機能あり
3  Breadboard  ebay   483円  10個 483円
4  Breadboard Jumpre Cable  ebay   301円  1箱 140 pcs
 ———- ライブラリ———-
5  Adafruit_GFX  GFX  microbuilder氏に感謝
6  Adafruit_ILI9341  ILI9341  ladyada氏に感謝
———-   フォント ———-
7  Font Converter  squix  Daniel Eichhor氏に感謝
—– ESP32 開 発 環 境 —–
8  espressif/arduino-esp32  esp32  espressif TEAMに感謝
9  Setting Up ESP-IDF  Toolchain   Mac OS用

02a:Touch Panel 無し:タッチパネル不要の場合。
02b:Touch Panel 有り:タッチパネル必要の場合。

ライブラリーと ESP32 対応:defined(ESP32) の記述。
Adafruit_ILI9341 は「defined(ESP32)」が追加され ESP32 で動作します。
ESP8266 の SPIの記述 は ESP32では使用出来ない様です。


.
配線:TFT基板の画像は裏側で 「配線表」は表側からの並びです。
_  TFTの端子と ESP32のGPIO端子が 最短で直結できる配置にしました。

TFT Display 裏側 端子名。

  TFT    基板表側 配線表
SDO LED SCK SDI DC RESET CS GND VCC

メモ:RESET は 3V3 へ接続でも可能です。


.
DEVKIT V1 配線:ミニブレッドボードを4連結。配線8本。

  DEVKIT  GPIO   ,    TFT    基板表側 配線表
GPIO D26 D27 D14 D12 D13 GND  VIN 3V3  3V3
TFT SCK SDI DC RESET CS GND LED  VCC



メモ:GPIO端子は D25表示(例) ですが スケッチでは  25 を記載します。


.
NANO32 配線:ミニブレッドボードを3連結。配線8本。

  NANO32  GPIO   ,    TFT    基板表側 配線表
GPIO 12 13 00 9 10 11  GND 3V3  3V3
TFT SCK SDI DC RESET CS GND LED  VCC



メモ:GPIO : 9=SD2, 10=SD3, 11=CMD(SCS). RESET=3V3 でも可能。


スケッチ:
Adafruit の Graphics Test の GPIOは 以下の様に設定します。
GPIO 端子は 全ての端子を設定します。CS, DC のみの設定は動きません。

DEVKIT V1

//                                      CS,DC,SDI,SCK,RESET,SDO);
Adafruit_ILI9341 tft = Adafruit_ILI9341(13,14, 27, 26,   12, 25);

NANO32

//                                      CS,DC,SDI,SCK,RESET,SDO);
Adafruit_ILI9341 tft = Adafruit_ILI9341(10, 0, 13, 12,    9, 14);

部品:ディスプレーは ebayで購入します。
_ 以下の条件にあったディスプレーは国内には無く 又 類似品の価格は約4倍
_ 程高い為に ebayで購入します。
_ 条件:240×320、3.3V、2.4″、SPI、TFT、ILI9341、Touch Panel、SD Slot。
_ 他の部品も国内は高いです。 例:ミニブレッドボードは 国内で 1個130円 や
_  216円(送料を含まない価格)ですが ebayは 1個49円です。

フォント:Adafruit_ILI9341 + Adafruit_GFX ではフォントを拡大するとギザ
_ ギザになります。奇麗なフォントを使用する方法は  Font Converter
_  ( Daniel Eichhor氏 ) を使用しフォントを作成します。
_  例:Library version は Adafruit GFX Font を選択し Roboto_plain_18.h を
_    作成します。それを自分のスケッチフォルダーの中に入れます。
_    スケッチでは #include “Roboto_plain_18.h” と宣言し
_    tft.setFont(&Roboto_18); tft.println(“Hello World,”); で表示します。

メモ:
_ DEVKIT  :購入時は電波は出力しない設定になっています。
_ NANO32:購入時は電波は出力しない設定になっています。
_      このままの状態で使用すると TELEC は不要になります。


.
参考:
Watch the ESP32 board:Arduino IDE へ ESP32 の開発環境を再構築する。
ESP32 with TELEC will be released.:初めての ESP32。


.
感想:
1. 費用:ESP32 の価格が高い為に 高額です。WeMos D1 mini の約5倍です。
_  今回の表示程度ならば WeMos D1 mini  (365円)で充分です。
_  さらに安価な ESP32 や TFT を探すのもポイントと思います。Daniel Eichhor
_  氏は この辺を丁寧に探しています。

2. TFT ライブラリー:squix : Daniel Eichhor のライブラリーは 高速性と表示の
_  奇麗さで最高峰ですが SSD1306 用である事と ESP8266 内部を使用している
_  為 現時点では ESP32 ではエラーがでて使用できません。
_  Adafruitのライブラリーは かなり遅いです。3D Cube のスケッチは 遅くて
_  使い物になりません。速度に見合った使い方になり ライブラリー次第で
_  高速抽画ができると思っています。
_  ESP8266 は 周波数を160MHzにしないと Wdt Reset の発生は大きくなります。
_  さらに Wdt Reset を軽減する為に yield(); を入れますが これは なんだと
_  思うくらいの妙な記述で ESP8266のバグではないかと 思うくらいです。
_  ESP32 では この yield(); の記述は不要になり 使用するとエラーがでます。

3. ESPRESSIFの戦略:ESP32 の1つに GAME を目標に DMA +パラレル方式を
_  掲げています。現在  ESP-WROVER-KIT 開発ボードを製作し SPI 方式で
_   安価な TFT を動かしています。ただし SPI方式では これ以上のピクセル数
_   は難しく パラレル方式が期待されます。Arduinoでは既に完成されています。

4. 大きさ:DEVKIT と NANO32 は大きく ブレッドボードを使用する時に少々
_  勝手が違います。ブレッドボードは試験用で使用時はケースに入れますので
_  取り付け基板が必要になるかと思います。それにしても WeMos D1 mini より
_  も かなり大きなケースになりそうです。

5. TFT 接続基板:2.4 inch TFT 基板と D1 mini を接続する基板があると 容易
_  に作る事ができます。そこで Daniel Eichhor氏は TFTと D1 mini pro の
_  接続基板を作られました。TFT + 接続基板+ D1 mini proをハンダ付けし
_  て直ぐ出来る素晴らしい方法です。
_  これを基に私は 接続基板を使用せず  VCC=3V3, GND=GND, CS=D7,
_  RESET=D6, DC=D5, SDI=D0 を直付けし GND=D8, SCK=D2 を2本の
_  ワイヤ−配線で作りました。これで基板を作る手間が不要な事や厚さを
_  薄くする事が出来ます。ただし少し上側にスペースが必要になる事と
_  タッチセンスの配線は省略しています。
_          
_  


 

Written by macsbug

12月 16, 2016 @ 10:46 pm

カテゴリー: ESP32, ESP8266

コメントを残す