ESP32 2.2インチTFTの表示テスト

JH7UBC 2020.1.13


 ESP32でTFTディスプレイの表示テストをします。
マイコンで利用されるTFTディスプレイには、2.2インチ,2.4インチ,2.8インチ,3.2インチなどがあり、
240×320ドットでSPIインターフェースで制御され、コントローラーにはILI9341が使われています。
今回は、手持ちの2.2"のTFTを使います。Qiitaのこの記事などを参考にしてテストしました。
ESP32 DevKitCとTFTの接続は次のようにします。

 ESP32  TFT  備 考
 3V3  Vcc  
 GND  GND  
 GPIO5(VSPI SS)  CS  
 GPIO16  RESET  
 GPIO17  DC/RS  
 GPIO23(VSPI MOSI)  SDA(MOSI)  
 GPIO18(VSPI SCK)  SCK  
 GPIO19(VSPI MISO)  DO(MISO)  これは接続しなくても動作します。

接続回路図です。

GitHubからAdafruit_ILI9341Adafruit_GFXライブラリをダウンロードして、Arduino IDEライブラリに登録します。
Adafruit_ILI9341のexamplesの中のgraphicstest.inoの一部を次のように書き換えてコンパイル書き込みします。

#define TFT_RST 16
#define TFT_DC 17
#define TFT_CS 5

// Use hardware SPI (on Uno, #13, #12, #11) and the above for CS/DC
Adafruit_ILI9341 tft = Adafruit_ILI9341(TFT_CS, TFT_DC,TFT_RST); 

ブレッドボードです。

グラフィックスのデモが表示され、最後に上の画面が表示され、90°ずつ回転します。

定番の「Hello World!」表示と簡単なグラフィックスのスケッチを作りTFTに表示してみます。



TFTの画面です。



 グラフィック表示は、NOKIA5110の表示テストに使用したのと同じAdafruit_GFX.hライブラリを使っていますので、
基本的な記述の仕方は同じです。
 ただし、TFTではカラー表示ができますので、色指定は、
ILI9341_WHITE,ILI9341_BLACK,ILI9341_RED,ILI9341_GREEN,ILI9341_BLUEなどと記述します。
TFTディスプレイは、非常に色あざやかで視認性も良いです

Adafruitのフォントは、ちょっと荒いのが気になります。
そこで、STM32で利用したUcglibを使ってみることにしました。ESP32 DevKitCとTFTの接続は、同じです。
まず、UcglibサイトからUcglibをダウンロードして、Arduino IDEに追加します。
Ucglibでは、様々なスタイル大きさのフォントを使うことができます。
フォントの見本は、Ucglibフォルダの中のextrasフォルダの中にあるfontsize.pdfで見ることができます。
また、Ucglibの使い方は、同じフォルダ内のreference.pdfに記載されています。
簡単なスケッチで表示テストをしました。スケッチです。


なめらかなフォントで表示できました。

inserted by FC2 system