前の記事で、ESP32に2.2インチTFTを接続して、Adafruitのライブラリで表示テストを行いましたが、フォントが荒っぽくちょっと気に入りません。
そこで、STM32で利用したUcglibを使ってみることにしました。ESP32 DevKitCとTFTの接続は、前の記事と同じです。
まず、UcglibサイトからUcglibをダウンロードして、Arduino IDEに追加します。
Ucglibでは、様々なスタイル大きさのフォントを使うことができます。フォントの見本は、Ucglibフォルダの中のextrasフォルダの中にあるfontsize.pdfで見ることができます。また、Ucglibの使い方は、同じフォルダ内のreference.pdfに記載されています。
簡単なスケッチで表示テストをしました。スケッチです。
---------------------------------------------------
/*
* ESP32 ILI9341TFT Ucglib test
* 2020.1.12
* JH7UBC Keiji Hata
*/
#include <Ucglib.h>
#include <SPI.h>
* ESP32 ILI9341TFT Ucglib test
* 2020.1.12
* JH7UBC Keiji Hata
*/
#include <Ucglib.h>
#include <SPI.h>
#define __CS 5
#define __DC 17
#define __RST 16
#define __DC 17
#define __RST 16
Ucglib_ILI9341_18x240x320_HWSPI ucg(__DC, __CS, __RST);
void setup() {
ucg.begin(UCG_FONT_MODE_TRANSPARENT);
ucg.clearScreen();
ucg.setRotate270();
ucg.setFont(ucg_font_ncenB14_tr);
ucg.setColor(255, 255, 255);
ucg.setPrintPos(50,50);
ucg.print("Hello World!");
ucg.setColor(255, 0, 0);
ucg.setPrintPos(50,75);
ucg.print("ESP32 + ILI9341TFT");
}
ucg.begin(UCG_FONT_MODE_TRANSPARENT);
ucg.clearScreen();
ucg.setRotate270();
ucg.setFont(ucg_font_ncenB14_tr);
ucg.setColor(255, 255, 255);
ucg.setPrintPos(50,50);
ucg.print("Hello World!");
ucg.setColor(255, 0, 0);
ucg.setPrintPos(50,75);
ucg.print("ESP32 + ILI9341TFT");
}
void loop() {
}
}
----------------------------------------------------
なめらかなフォントで表示されました。
Ucglibは、表示が少し遅いような気もします。Adafruitのlibとケースバイケースで使い分けていきたいと思います。