macsbug

Run IPS SPI display on M5Stack

leave a comment »

IPS SPI DISPLAY を M5Stack で動かしました。     2019.03.24

0.96″ 80×160 IPS SPI ST7735 Display:324円

1.3″ 240*240 IPS SPI ST7789 Display:344円

M5Stack と ブレッドボード拡張アダプターで 動作確認を行ないました。

IPS方式:In Plane Switching の略で 液晶駆動方式の事を言います。広視野角
_ (上下左右178度)で どの位置でも色の変化がほとんど無く見やすいです。
価格:0.96″ 80×160:324円 ( $2.90 )
価格:1.3″ 240*240:344円 ( $3.09 )
LCD Color:65K FULL COLOR
Driver IC:0.96″ は ST7735、1.3″ は ST7789 です。
Library:Bodmer氏のTFT_eSPI は ST7735, ST7789 をサポートしています。
_ Bodmer氏に感謝!


購入:IPS は 0.96 inch と 1.3 inch の2種類があります。

1.  0.96″ 80×160 IPS SPI ST7735 Display ( 24 x 30 mm )

No Price Purchase Memo
1   250円 ( $2.27 )   All goods are freeshipping Store  輸送期間=17日
2   319円 ( $2.90 )   Worldchips  輸送期間=15日
3   363円 ( $3.30 )   Fancys Module Mall  –
4   372円 ( $3.38 )   ZQC Module Store  –

価格は 投稿時の 1ドル 109.925円で算出しています。

2.  1.3″ 240*240 IPS SPI ST7789 Display ( 39.22 x 27.78 mm )

_ All goods are freeshipping Store:IPSの文字が右

_ Worldchips Store:IPSの文字が左

メモ:
_ IPS と 基板の固定は 両面テープです。IPSの文字が左(Worldchips Store) は
_ 薄いテープを使用し固定具合が良いです。

_ CS端子はありません。Flex Wire Pin 8 裏の 基板上で GND になっています。

No Price Purchase Memo
1   340円。($3.09)   All goods are free shipping Store  輸送期間=16日
2   343円。($3.12)   Worldchips  輸送期間=18日
3   329円。($2.99)   Shop1918846 Store  調査中
4   350円。($3.18)   WAVGAT Store  –
5   368円。($3.34)   ElectronicFans  –

 


参考:他の IPS Display

3. 0.96inch IPS TFT LCD Display Breakout Module
_ CS  付き。

No Price Purchase Memo
1    404円。( $3.68 )   faaqii  –

 

4. 0.96inch IPS TFT LCD Display Breakout Module
_ CS  + SD SLOT 。

No Price Purchase Memo
1    488円。( $4.44 )   tradeworld2015  –

 

5. 1.3inch 240 * 240 IPS TFT LCD Display Breakout Board Module
_ CS 付き。

No Price Purchase Memo
1    469円。( $4.27 )   mywindowworld568  –

 

6. 1.3inch IPS TFT LCD Display Breakout Module
_ CS + SD SLOT 。

No Price Purchase Memo
1    546円。( $4.97 )   maaqii  –

 

7. 1.3″ 240×240 IPS SPI ST7789 Display for Raspberry Pi

No Price Purchase Memo
1  1406円。( AU$17.84 )  easy2buydeals Store  輸送期間=12日

 


IPS Display 型番:裏側の画像です。
_ 1.3″ 240*240 IPS SPI ST7789 Display ( 39.22 x 27.78 mm )
_ Model Number : LH133T-IG01-01
_ 1812039-1E
_ Bl-133H01B
_ LH B 2018-12-21

_ 参考URL


 

配線:0.96″ ST7735 は9本、1.3″ ST7789 は7本です。
_ 0.96″ ST7735 と 1.3″ ST7789 の端子は ほぼ同じですが
_ ST7789 は CS端子がありません。 CS端子無しは SPI Mode3動作です。
_ 表の数値は M5Stack M-BUS の GPIO Pin の番号です。
_ 例:IPS ST7789 MOSI=19:IPS の MOSI端子 と M5Stack M-BUS 19pin。

 Display/Pin MOSI MISO CLK CS DC RST BLK VCC GND
 M5 ILI9341 23 18 14 27 33 32 3V3 GND
 M5 TF CARD 23 19 18 4 3V3 GND
 IPS ST7735 19 13 18 15 2 5 3V3 3V3 GND
 IPS ST7789 19 18 -1 2 5 3V3 3V3 GND
 IPS DISPLAY SDA SCL DC RES BLK 3V3 GND

 


配線:ST7735:

Display/Pin GND VCC SCL SDA RES DC CS BLK
IPS ST7735 GND 3V3 18 19 5 2 15 3V3

 

設定:TFT_esPI の User_Setup は 以下です。
_ 例として以下の記載を ST7735.h という名前で TFT_eSPI の
_ User_Setups Folder へ保存します。
_ TFT_eSPI の User_Setup_Select.h は
_ #include <User_Setups/ST7735.h> を記載します。

ST7735 User_Setup:

#define ST7735_DRIVER
#define TFT_WIDTH  80
#define TFT_HEIGHT 160
#define ST7735_GREENTAB160x80
#define TFT_MOSI 19
#define TFT_SCLK 18
#define TFT_CS   15
#define TFT_DC    2
#define TFT_RST   5
#define LOAD_GLCD
#define LOAD_FONT2
#define LOAD_FONT4
#define LOAD_FONT6
#define LOAD_FONT7
#define LOAD_FONT8
#define LOAD_GFXFF
#define SMOOTH_FONT
#define SPI_FREQUENCY  40000000

配線:ST7789:

Display/Pin GND VCC SCL SDA RES DC BLK
IPS ST7789 GND 3V3 18 19 5 2 3V3

 

ST7789 User_Setup:

#define ST7789_DRIVER
#define TFT_WIDTH  240
#define TFT_HEIGHT 240
#define TFT_INVERSION_ON
#define TFT_MOSI 19
#define TFT_SCLK 18
#define TFT_CS   -1
#define TFT_DC    2
#define TFT_RST   5
#define LOAD_GLCD
#define LOAD_FONT2
#define LOAD_FONT4
#define LOAD_FONT6
#define LOAD_FONT7
#define LOAD_FONT8
#define LOAD_GFXFF
#define SMOOTH_FONT
#define SPI_FREQUENCY  40000000

メモ1:SPI_FREQUENCY は 65000000 でも動作します。

メモ2:GPIO23
_ M5 ILI9341 MOSI GPIO23 は 外部ディスプレーでは使用しない事。
_ ST7789 使用時の不具合として 起動すると動作しない、文字を表示しない
_ グラフィック回転時に停止する。画面にゴミを表示する等が発生します。

メモ3:ST7789
_ CS :この端子はありません。SPI Mode3 動作になります。
_ SDA:M5Stackで使用の GPIO23 を接続すると 動作せず 使用できません。
_ RES:M5Stackの EN端子接続では 動作しません。GPIOへ接続が必要です。
_ TFT_eSPI User_Setup:#define TFT_INVERSION_ON が無いと色は反転。
_   #define TFT_INVERSION_ON により 色が正しく表示されます。
_ TFT_eSPI User_Setup:#define TFT_CS -1:記載しないと動作しません。

メモ4:CS
_ CS は基板上で GNDパターンに繋がっています。番号は8番です。
_ CS を有効には Flex Wire を外し pin 8 の GND パターン をカットし
_ CS をGPIOに配線。これにより #define TFT_CS 15 とかで使用できます。


サンプル画像:
1. 0.96″ 80×160 IPS の画像は TFT_eSPI の サンプルの Meter です。
2. 1.3″ 240*240 IPS SPI ST7789 Display の画像は Raytrace です。
3. 下記は TFT_eSPI の TFT_Rainbow_one_lib を IPS 用に変更しました。

4. M5Stack Pacman
_ M5 のサイズは 320×240 です。240×240 に変換し PacMan を動作してみました。
_ 画像では分かり難いかも知れませんが 目視では 色がくっきりし 大変綺麗です。
_ 変更内容:
_ DrawIndexedMap.h 内の void drawIndexedmap:y軸を 0.78 倍します。
_ display.drawFastHLine(x + tmpX – width, 0.78 * (y + tmpY ), width, color);

5. AmigaBoingBall-raytraced:IPS 240×240 ST7789 Display で表示。
_ Webでの動画はあまり綺麗でないですが 目視では 鮮やかに綺麗です。
_ tobozo氏の tobozo/ESP32-AmigaBoingBall は驚異的な速度です。


資料:
ST7735:Datasheet
ST7789:Datasheet
ST7789:Specifications TFT-LCD module , Model No:FRD154B12001-A
TFT_eSPI:ライブラリー
YouTube:TFT_eSPI library with ST7789 display, benchmark
YouTube:IPS-дисплеи на контроллерах ST7789 и ST7735
RaspBerry Piで遊んでみる:多種類のディスプレー動作記事
しかるのち:小さい!240×240の1.3インチ液晶:AdaFruit Library を使用。
instructables:Select Color Display for ESP32:氏の各種Display体験。
MYSKU.ru:ST7789 IPS Display:他の液晶との比較。
家電のKENchan:1.3″ IPS LCD HAT for NanoPi NEO(ST7789)。4482円。
Xonay Labs:57.600 colorful pixels!:CS は 12pin Flex Wire下の基板にあり 8番ピンです。
低価格の理由:
_ IPS 0.96″ 80×160 SPI ST7735 Display は Smart Watch の部品。
_ この Display は ESPの製品では M5Stick C (80×160) で初めて採用されました。

_ IPS 1.3″ 240*240 SPI ST7789 Display は Smart Watch の部品。

IPS SPI ST7789 Display を使用した ESP32ボード。
ESP32-WROVER-B + ST7789 + SD SLOT + Button + WS2812b LED + Buzzer
_ 1. tindie:Travis Lin:DSTIKE D-duino-32 XS
_ 2. Aliexpress DSTIKE Store:$24.26( Sale $22.36 )


感想:
IPS Display:既に1年ほど前から販売されていましたが 話題にはなっていませんでした。
_ 又、投稿時には IPS Display のブログ記事は ほとんどありません。
IPS Display の品質:視野角広く とても綺麗で魅了されます。
サイズ:IPS Display のサイズで直ぐ動作する基板は 今回の 0.96″ と 1.3″ の2種類です。
_ 実用的なサイズではありませんが 小型化の構成には最適かと思います。
_ 240×320, 320×480 の IPS はありますが SPI基板やライブラリーが無いのが現状です。
液晶:小型の液晶は 0.96″ 128×64 I2C OLED が低価格で世界中で多く使用されています。
_ 今回の IPS SPI の販売により 速度、色、視野角、サイズ、価格 の全てに於いて
_ IPS Display が優位になっています。
OLED価格:0.96″ 128×64 OLED は 2015年は 883円でしたが IPS 販売から低価格化が
_ 進んでおり $2 程度がでてきました。日本アマゾンでは 低価格情報が浸透して
_ いない為か 980円や もっと高い価格で販売されています。
小型モジュール最強案:tindie Travis Lin:DSTIKE D-duino-32 XS  + Servo Drive IC
_ + ケース + 拡張アダプター で 最強の小型ボードが可能かと思います。
結果、海外からの購入が急速に多くなっている事や販売店が増加しています。
ESP-WROOM-32 + ST7789 + MicroPython:メモリーが足らず動作しないとの事。
_ ESP32-WROVER では 特別な領域を確保で動く程度です。
_ M5Stack + Python 使用者は ライブラリー分析しますと数パーセントです。
_ 他言語使用せず Arduio IDE ベースが良いかと思います。


Written by macsbug

3月 24, 2019 @ 1:00 pm

カテゴリー: ESP32, M5STACK

コメントを残す