2.4 Inch TFT Display For ESP32
ESP32 で TFT Display を使用する方法。 2016.12.17
ディスプレー は 2.4 inch 240×320 SPI TFT LCD ILI9341 を使用し
ESP32 は DEVKIT V1 と NANO32 を使用しました。
費用は 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本の
_ ワイヤ−配線で作りました。これで基板を作る手間が不要な事や厚さを
_ 薄くする事が出来ます。ただし少し上側にスペースが必要になる事と
_ タッチセンスの配線は省略しています。
_
_
コメントを残す