macsbug

Just another WordPress.com site

Archive for 8月 2017

TFT display for Raspberry pi with ESP32

leave a comment »

3.5 ” 480×320 SPI TFT RPi touch Display を ESP32 で動かす方法。   2017.08.12

費用は  2265円 です。( RPi Display + ESP32 MiniKit + 接続基板 )
他には D1 mini Lite = 1775円。D1 mini = 1985円。D1 mini Pro = 2285円 です。
ディスプレー の価格は 1266円 で 2.4 inch 320×240 TFT より少々高いです。

ラズベリーパイ用 TFT ディスプレー:
_ 画素数が多く多彩な表示ができます。基板、タッチセンサー、TFT部が
_ きちんと固定されケースに収めやすい構造です。ラズパイは 本体と
_ ディスプレー用に綺麗な RPi Acrylic Case (294円) が販売されています。


RPi Display 仕様:
_ 表示方式: TFT LCD
_ サイズ: 3.5 inch。8.5cm x 5.5cm x 1.7cm
_ 画素数: 480 x 320 ( HVGA )
_ 電源 : 5Vdc ( 3.3V Regulator 内蔵)
_ タッチ: Touch Screen Controller XPT2046
_ タッチペン: 8.7cm
_ 接続: SPI ( MOSI, SCLK, CS, DC, RST, MISO )
_ SPI 周波数: 20MHz ( TFT下の配線構造の為 )
_ ドライバーIC: ILI9486  ( 480 x 320 )
_ SPI 詳細: SPI信号を 74HC04, 74HC4040, 74HC4094, 74HC4094
_      でパラレル信号に変換しています。


準備:費用 2265円。RPi Display + ESP32 MiniKit + 基板 + コネクター

No  Nomen  Link   Price
1  3.5 ” 480×320 SPI TFT Raspberry Pi  ebay ( $11.43 )  1250円
2  ESP32 Minikit  top_electronic1980($7.11)   785円
3  WEMOS D1 Mini Lite  WEMOS CC Store($3.53)   389円
3  WEMOS D1 Mini  WEMOS CC Store($4.53)   499円
3  WEMOS D1 Mini Pro  WEMOS CC Store($7.26)   799円
4  ユニバーサル基板:72 x 47mm:1個  秋月電子通商   120円
5  ピンヘッダー:2×13:1個  秋月電子通商    50円
6  ピンヘッダー:2×20:1個  秋月電子通商    50円
 —————————————-  ————————-   ——
7  TFT ライブラリー  Bodmer:TFT_eSPI

海外の価格:円レートと販売店で変化します。ESP32 Minikit は 23社が販売
_     しており 日々価格が変化します。最安の業者を探しましょう。
購入トラブルメモ:Advanced Teck($7.08)に注文し異なる物がきました。
_ 注文品の送付を依頼しましたが届きません。よってこの業者は
_ ブラックリストに入れました。

TFT の種類と注意:
_ 幾つかの種類があります。SPI接続のものを使用します。
_ 3.5 inch RPi Display V3.0 と書かれた物が最新版です。
_ V3.0 と記載されていなくとも ICと配線は同一の物があり動作します。
_ コネクターは 26PIN ( 2 x 13 ) です。
_ 基板上のICが 74HC04,74HC4040,74HC4094,74HC4094 なら使用できます。
_ KeDei 製は 異なるICで構成されており そのままでは使用できません。
_ KeDei 製を使用する時は IC交換により高速で動きますが 改修は面倒です。


基板裏:左上から 74HC04, 74HC4040, 74HC4094, 74HC4094
ピン配置:Raspberry Pi ( Rev.2 ) と同等。



配線:配線は7本のみです。コネクターの向きは 上記写真と同じです。

 RPi Display  GND  CS  SCK  RST  MOSI  DC  5V
 RPi Display 25 24 23 22 19 18 2
 ESP32 GPIO  GND 5 18 RST 23 13 5V


TFT ライブラリー:Bodmer:TFT_eSPI。作成された Bodmer 氏に感謝致します。
_ TFT RPi touch Display のドライバーIC は ILI9486 (480 x 320) です。
_ TFT_eSPI が対応する ドライバーは ILI9486。ILI9341 (320 x 240),
_ ST7735(128 x 128 or 128 x 160), ILI9163(128 x 160), S6D02A1 も
_ 可能です。さらに 高速化も実施されています。

設定:「User_Setup.h」
_ ドライバー、GPIOピン、フォント、SPI周波数の設定は「User_Setup.h」
_ で行います。エデッターで編集し 保存して使用します。
_ この記述方法は メインのスケッチでGPIOピンの設定が不要で便利です。
_ これによりサンプルは変更する事無く直ぐ動作します。
_ 例:ESP32 MiniKit

#define RPI_ILI9486_DRIVER

#define TFT_MISO 19
#define TFT_MOSI 23
#define TFT_SCLK 18
#define TFT_CS    5
#define TFT_DC   13
#define TFT_RST  -1

#define LOAD_GLCD
#define LOAD_FONT4
#define LOAD_FONT6
#define LOAD_FONT7
#define LOAD_FONT8
#define LOAD_GFXFF

#define SPI_FREQUENCY  20000000

サンプルスケッチ:examples「480 x 320 」は以下があり 即動作します。

 Cellular_Automata  Demo_3D_cube  Flash_Bitmap
 Free_Font_Demo  Graph_2  TFT_Char_times
 TFT_Ellipse  TFT_flash_jpg  TFT_graphicstest_one_lib
 TFT_Meter_4 TFT_Meters  TFT_Padding_demo
 TFT_Print_Test  TFT_Rainbow480  TFT_ring_meter
 TFT_String_Align  UTFT_Demo_480x320

 


ライブラリーの速度:TFT_eSPI は Adafruit や 他の ライブラリーより速いです。
_ Raytracing による比較:
_ ESP32 DEVKIT V1 + 320×240 SPI TFT Display  + Adafruit は 14 sec 。
_  Raytracing with ESP32
_ ESP32 MiniKit + 320 x 240 TFT SPI Display + TFT_eSPI は   6 sec 。
_ ESP32 MiniKit + 480 x 320 TFT SPI Display + TFT_eSPI は 11 sec 。
_ ESP32 VSPI(or HSPI)接続と TFT_eSPI ライブラリーによる効果です。


画像処理メモ:
マックで image.c 作成方法:Wine APP + ImageConverter565.exe で作ります。
Bodmer:JPEGDecoder を使用します。
QVGA:320 x 240
HVGA:480 x 320


ラズパイ用ケース:
BME280 センサーを接続し RPi Acrylic Case に収めました。
ESP32にBME280を接続し 温度、湿度、気圧 を Ring で表示しました。
USB 5V 消費電力:178mA


参考:
ILITEK:ILI9486:Application Notes
RPI Display 配線図:sainsmartschematicV2
Arduino FORUM:TFT_eSPIのハードとソフト、高速化等の情報。
_ New graphics library for NodeMCU (ESP8266) and SPI based TFT displays
Bodmer:TFT_eSPI:ライブラリーの説明と開発の経緯。
wdim0 :esp8266 with KeDei lcd module:KeDei LCD module の改修方法。
YouTube:ESP8266 with hacked 3.5″ KeDei LCD module (SPI, CLK 40 MHz)
_    SPI を 40MHz で高速動作させる改修方法。
YouTube:ESP8266 with hacked 3.5″ KeDei LCD module (SPI, CLK 20 MHz)
_    SPI 20MHz の場合 。


感想:
1.  念願の 3.5 inch 480 x 320 を ESP32 ( ESP8266 ) で使用する事ができました。
_  ESPでの 5 inch と 7 inch は 動作情報がありますが 公開されていません。
2.  480 x 320 TFT + Arduino DUE  で 32ch(Arinc 429) Logic Analyzer
_ を製作した事例があります。以下は  24bit を縦に表示したものです。

3.  ラズパイでの これ以上の画素はHDMI接続になりESPではできません。
4.  TFT_eSPI library を使いこなすには 設定の「User_Setup.h」を理解
_ すると解りやすいです。命令表は Keywords.txt に書かれています。
5.  少し大きいですが 手に収まる事と 480 x 320 の大きい画素数という
_  利点があり 多彩な表示が出来るかと思います。
6.  サンプルの「Cellular_Automata」はライフゲームです。ライフゲームに
_ 興味があり、早々に楽しんでいます。

7.  TFT LCD Display 価格調査:
_ ebay の 3.5inch 480×320 は 1266円。
_ 国内は 以下の様に 幾つも購入できる 高価格です。
_ aitendo:3.5 inch 480×320 は 3500円。
_ スイッチサイエンス:3.5 ” は無く 2.2″ 320×240 3499円。
_  2.8″ 320×240 4903円。2.8″ 320×240 6307円。
_ 秋月電子通商:2.8″ 320×240 5130円。
_ 千石電商  :2.8″ 320×240 4200円。
_ 日本アマゾン:3.5inch 480×320 は 幾つかの業者があり
_  Kuman=2280円, Elegoo=2300円, Elecrow=2499円,
_  cocopar=2999円。


広告

Written by macsbug

8月 12, 2017 at 11:16 am

カテゴリー: ESP32, ESP8266