[ESP32]2.4inch TFT(IPS)液晶ディスプレイ GMT024-08-SPI8P(ST7789V) Adafruit GFX Library with Arduino IDE

ESP32
スポンサーリンク

2.4inch TFT(IPS)液晶ディスプレイ GMT024-08-SPI8P(ST7789V) Adafruit GFX Library

はじめに

ST7789Vドライバが搭載されたTFT(IPS)液晶ディスプレイ(LCD)です。

今回使用するのは、「GMT024-08-SPI8P」と記載された2.4インチ(240×320)のディスプレイです。

LCD1602に比べると、必要なピン数が増えるため配線の数が増え手軽さは劣りますが、画像表示もでき非常に綺麗です。

2.4 インチ2.8 インチ3.5 インチ
解像度240RGB×320240RGB×320320RGB×480
パネルTFT(IPS)TFT(IPS)TFT(IPS)
インターフェースSPISPISPI
ドライバーチップST7789VST7789ST7796S
サイズ47×71×13.5mm55×81×4.4mm59×95×6.3mm

本記事では、描画ライブラリに「Adafruit GFX Library」を使用しています。
「LovyanGFX」を使用した内容についてはこちら👇

開発環境

OS : Windows 11 Pro
ESP32:ESP-WROOM-32
統合開発環境 : Arduino IDE 2.3.2
Arduino core for the ESP32:2.0.17
使用ライブラリ:Adafruit ST7735 and ST7789 Library(1.10.4) / Adafruit GFX Library(1.11.9)

使用パーツ

ESP32開発ボード(38Pin)

\最大12%ポイントアップ!/
Amazon
\ポイント最大46.5倍!/
楽天市場
\商品券4%還元!/
Yahooショッピング
\管理人おすすめ!/
Aliexpress

TFT(IPS)液晶ディスプレイ

\最大12%ポイントアップ!/
Amazon
\ポイント最大46.5倍!/
楽天市場
\商品券4%還元!/
Yahooショッピング
\管理人おすすめ!/
Aliexpress

ジャンパーワイヤー(メスーメス)

作業内容

配線図

TFT(IPS)液晶ディスプレイ とは SPI で通信するため、GPIO 23  (VSPI_MOSI) と GPIO 18 (VSPI_SCK) は固定で接続します。
BL はバックライトです。今回は常時表示するため、3.3V に接続していますが、GPIOピンに接続してOUTPUT設定にすることで、表示ON/OFFを切り替えることができます。

TFT(IPS)液晶ディスプレイESP32開発ボード(38Pin)
BL3.3V
CSGPIO 5 (VSPI_SS)
DCGPIO 16
RSTGPIO 4
SDAGPIO 23  (VSPI_MOSI)
SCLGPIO 18 (VSPI_SCK)
VCC3.3V
GNDGND

DC との接続は、GPIO19(VSPI_MISO) が正しいと思いましたが、通信できませんでした。

ライブラリインストール

Adafruit ST7735 and ST7789 Library

TFT(IPS)液晶ディスプレイ と SPI通信するためのライブラリである Adafruit ST7735 and ST7789 Library をインストールします。

全てをインストールします。

スケッチ作成

#include <Adafruit_GFX.h>
#include <Adafruit_ST7789.h>
#include <SPI.h>

#define TFT_CS  5
#define TFT_RST 4
#define TFT_DC  16

Adafruit_ST7789 tft = Adafruit_ST7789(TFT_CS, TFT_DC, TFT_RST);
const uint16_t bmpimg[] PROGMEM = {0x3fec, 0x1fe9, 0x1fe9, 0x1fe9, 0x1fe9, 0x1fe9, 0x1fe9, 0x1fe9, 0x1fe9, 0x1fe9, 0x1fe9, 0x1fe9, 0x1fe9, 0x1fe9, 0x1fe9, 0x1fe9, 0x1fe9, 0x1fe9, 0x1fe9, 0x1fe9, 0x1fe9, 0x1fe9, 0x1fe9, 0x1fe9, 0x1fe9, 0x1fe9, 0x1fe9, 0x1fe9, 0x1fe9, 0x1fe9, 0x1fe9, 0x1fe9, 0x1fe9, 0x1fe9, 0x1fe9, 0x1fe9, 0x1fe9, 0x1fe9, 0x1fe9, 0x1fe9, 0x1fe9, 0x1fe9, 0x1fe9, 0x1fe9, 0x1fe9, 0x1fe9, 0x1fe9, 0x1fe9, 0x1fe9, 0x1fe9, 0x1fe9, 0x1fe9, 0x1fe9, 0x1fe9, 0x1fe9, 0x1fe9, 0x1fe9, 0x1fe9, 0x1fe9, 0x1fe9, 0x1fe9, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x1fe9, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x1fe9, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x1fe9, 0x07e6, 0x07e6, 0x07e6, 0xa7f6, 0xeffd, 0xeffd, 0xeffd, 0xeffd, 0xeffd, 0xeffd, 0xeffd, 0xeffd, 0xeffd, 0xeffd, 0xeffd, 0xeffd, 0xeffd, 0xeffd, 0xeffd, 0xeffd, 0xeffd, 0xeffd, 0xeffd, 0xeffd, 0xeffd, 0xeffd, 0xeffd, 0xeffd, 0xeffd, 0xeffd, 0xeffd, 0xeffd, 0xeffd, 0xeffd, 0xeffd, 0xeffd, 0xeffd, 0xeffd, 0xeffd, 0xeffd, 0xeffd, 0xeffd, 0xeffd, 0xeffd, 0xeffd, 0xeffd, 0xeffd, 0xeffd, 0xeffd, 0xeffd, 0xeffd, 0xeffd, 0xeffd, 0xeffd, 0xeffd, 0x27ea, 0x07e6, 0x07e6, 0x07e6, 0x1fe9, 0x07e6, 0x07e6, 0x07e6, 0xaff7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x27ea, 0x07e6, 0x07e6, 0x07e6, 0x1fe9, 0x07e6, 0x07e6, 0x07e6, 0xaff7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x27ea, 0x07e6, 0x07e6, 0x07e6, 0x1fe9, 0x07e6, 0x07e6, 0x07e6, 0xaff7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x27ea, 0x07e6, 0x07e6, 0x07e6, 0x1fe9, 0x07e6, 0x07e6, 0x07e6, 0xaff7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x27ea, 0x07e6, 0x07e6, 0x07e6, 0x1fe9, 0x07e6, 0x07e6, 0x07e6, 0xaff7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x27ea, 0x07e6, 0x07e6, 0x07e6, 0x1fe9, 0x07e6, 0x07e6, 0x07e6, 0xaff7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x27ea, 0x07e6, 0x07e6, 0x07e6, 0x1fe9, 0x07e6, 0x07e6, 0x07e6, 0xaff7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2fea, 0x07e6, 0x07e6, 0x07e6, 0x1fe9, 0x07e6, 0x07e6, 0x07e6, 0xaff7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x9ff5, 0x1fe9, 0x1fe9, 0x1fe9, 0x1fe9, 0x1fe9, 0x1fe9, 0x1fe9, 0x1fe9, 0x1fe9, 0x1fe9, 0x1fe9, 0x1fe9, 0x1fe9, 0x1fe9, 0x1fe9, 0x1fe9, 0x1fe9, 0x1fe9, 0x1fe9, 0x1fe9, 0x1fe9, 0x1fe9, 0xa7e5, 0xffc3, 0xffc3, 0xffc3, 0xffc3, 0xffc3, 0xffc3, 0xffc3, 0xffc3, 0xffc3, 0xffc3, 0xffc3, 0xffc3, 0xffc3, 0xffc3, 0xffc3, 0xffc3, 0xffc3, 0xffc3, 0xffc3, 0xffc3, 0xffc3, 0xffc3, 0xefc0, 0xefc0, 0xefc0, 0xefc0, 0x1fe9, 0x07e6, 0x07e6, 0x07e6, 0xaff7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8ff4, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x9fe2, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0x1fe9, 0x07e6, 0x07e6, 0x07e6, 0xaff7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8ff4, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x9fe2, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0x1fe9, 0x07e6, 0x07e6, 0x07e6, 0xaff7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8ff4, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x9fe2, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0x1fe9, 0x07e6, 0x07e6, 0x07e6, 0xaff7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8ff4, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x9fe2, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0x1fe9, 0x07e6, 0x07e6, 0x07e6, 0xaff7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8ff4, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x9fe2, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0x1fe9, 0x07e6, 0x07e6, 0x07e6, 0xaff7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8ff4, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x27ea, 0xdffc, 0xdffc, 0xdffc, 0xdffc, 0xdffc, 0xdffc, 0xdffc, 0xdffc, 0xdffc, 0xdffc, 0xdffc, 0xdffc, 0xdffc, 0xdffc, 0xf7eb, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffeb, 0xfffb, 0xfffb, 0xfffb, 0xfffb, 0xfffb, 0xfffb, 0xfffb, 0xfffb, 0xfffb, 0xfffb, 0xfffb, 0xfffb, 0xfffb, 0xfffb, 0x4fe9, 0x2fe5, 0x2fe5, 0x2fe5, 0x1fe9, 0x07e6, 0x07e6, 0x07e6, 0xaff7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8ff4, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x27ea, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffed, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffed, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x27ea, 0x07e6, 0x07e6, 0x07e6, 0x1fe9, 0x07e6, 0x07e6, 0x07e6, 0xaff7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8ff4, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x27ea, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffed, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffed, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x27ea, 0x07e6, 0x07e6, 0x07e6, 0x1fe9, 0x07e6, 0x07e6, 0x07e6, 0xaff7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8ff4, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x27ea, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffed, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffed, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x27ea, 0x07e6, 0x07e6, 0x07e6, 0x1fe9, 0x07e6, 0x07e6, 0x07e6, 0xaff7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8ff4, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x27ea, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffed, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffed, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x27ea, 0x07e6, 0x07e6, 0x07e6, 0x1fe9, 0x07e6, 0x07e6, 0x07e6, 0xaff7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8ff4, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x27ea, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffed, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffed, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x27ea, 0x07e6, 0x07e6, 0x07e6, 0x1fe9, 0x07e6, 0x07e6, 0x07e6, 0xaff7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8ff4, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x27ea, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffed, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffed, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x27ea, 0x07e6, 0x07e6, 0x07e6, 0x1fe9, 0x07e6, 0x07e6, 0x07e6, 0xaff7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8ff4, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x2fea, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffed, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffed, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x27ea, 0x07e6, 0x07e6, 0x07e6, 0x1fe9, 0x07e6, 0x07e6, 0x07e6, 0xaff7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8ff4, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x2fea, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffed, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffed, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x27ea, 0x07e6, 0x07e6, 0x07e6, 0x1fe9, 0x07e6, 0x07e6, 0x07e6, 0xaff7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8ff4, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x2fea, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffed, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffed, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x27ea, 0x07e6, 0x07e6, 0x07e6, 0x1fe9, 0x07e6, 0x07e6, 0x07e6, 0xaff7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8ff4, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x2fea, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffed, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffed, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x27ea, 0x07e6, 0x07e6, 0x07e6, 0x1fe9, 0x07e6, 0x07e6, 0x07e6, 0xaff7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8ff4, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x2fea, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffed, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffed, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x27ea, 0x07e6, 0x07e6, 0x07e6, 0x1fe9, 0x07e6, 0x07e6, 0x07e6, 0xaff7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8ff4, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e7, 0x1fe9, 0x1fe9, 0x1fe9, 0x1fe9, 0x1fe9, 0x1fe9, 0x1fe9, 0x1fe9, 0x1fe9, 0x1fe9, 0x1fe9, 0x1fe9, 0x1fe9, 0x1fe9, 0xa7e4, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc1, 0xffc3, 0xffc3, 0xffc3, 0xffc3, 0xffc3, 0xffc3, 0xffc3, 0xffc3, 0xffc3, 0xffc3, 0xffc3, 0xffc3, 0xffc3, 0xffc3, 0xe7c1, 0xe7c0, 0xe7c0, 0xe7c0, 0x1fe9, 0x07e6, 0x07e6, 0x07e6, 0xaff7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8ff4, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x9fe2, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0x1fe9, 0x07e6, 0x07e6, 0x07e6, 0xaff7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8ff4, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x9fe2, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0x1fe9, 0x07e6, 0x07e6, 0x07e6, 0xaff7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8ff4, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x9fe2, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0x1fe9, 0x07e6, 0x07e6, 0x07e6, 0xaff7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8ff4, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x9fe2, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0x1fe9, 0x07e6, 0x07e6, 0x07e6, 0xaff7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8ff4, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x9fe2, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0x1fe9, 0x07e6, 0x07e6, 0x07e6, 0xaff7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8ff4, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x9fe2, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0x1fe9, 0x07e6, 0x07e6, 0x07e6, 0xaff7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8ff4, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x9fe2, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0x1fe9, 0x07e6, 0x07e6, 0x07e6, 0xaff7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8ff4, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x27ea, 0xf7fe, 0xf7fe, 0xf7fe, 0xf7fe, 0xf7fe, 0xf7fe, 0xf7fe, 0xf7fe, 0xf7fe, 0xf7fe, 0xf7fe, 0xf7fe, 0xf7fe, 0xf7fe, 0xfffe, 0xfffe, 0xfffe, 0xfffe, 0xfffe, 0xfffe, 0xfffe, 0xfffe, 0xfffe, 0xfffe, 0xfffe, 0xfffe, 0xfffe, 0xfffe, 0xfffe, 0xfffe, 0xfffe, 0xfffe, 0xfffd, 0xffc1, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0x1fe9, 0x07e6, 0x07e6, 0x07e6, 0xaff7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8ff4, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x2fea, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffff, 0xffc2, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0x1fe9, 0x07e6, 0x07e6, 0x07e6, 0xaff7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8ff4, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x27ea, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffff, 0xffc2, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0x1fe9, 0x07e6, 0x07e6, 0x07e6, 0xaff7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8ff4, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x27ea, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffff, 0xffc2, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0x1fe9, 0x07e6, 0x07e6, 0x07e6, 0xaff7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8ff4, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x27ea, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffff, 0xffc2, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0x1fe9, 0x07e6, 0x07e6, 0x07e6, 0xaff7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8ff4, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x27ea, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffff, 0xffc2, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0x1fe9, 0x07e6, 0x07e6, 0x07e6, 0xaff7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8ff4, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x27ea, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffff, 0xffc2, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0x1fe9, 0x07e6, 0x07e6, 0x07e6, 0xaff7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8ff4, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x27ea, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffff, 0xffc2, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0x1fe9, 0x07e6, 0x07e6, 0x07e6, 0xaff7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8ff4, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x2fea, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffff, 0xffc2, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0x1fe9, 0x07e6, 0x07e6, 0x07e6, 0xaff7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8ff4, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x2fea, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffff, 0xffc2, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0x1fe9, 0x07e6, 0x07e6, 0x07e6, 0xaff7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8ff4, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x2fea, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffff, 0xffc2, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0x1fe9, 0x07e6, 0x07e6, 0x07e6, 0xaff7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8ff4, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x2fea, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffff, 0xffc2, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0x1fe9, 0x07e6, 0x07e6, 0x07e6, 0xaff7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8ff4, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x2fea, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffff, 0xffc2, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0x1fe9, 0x07e6, 0x07e6, 0x07e6, 0xaff7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8ff4, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x2fea, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffff, 0xffc2, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0x1fe9, 0x07e6, 0x07e6, 0x07e6, 0xaff7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8ff4, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x2fea, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xfff0, 0xffe5, 0xffe5, 0xffe5, 0xffe5, 0xffe5, 0xffe5, 0xffe5, 0xffe5, 0xffe5, 0xffe5, 0xffe5, 0xffe5, 0xffe5, 0xffe5, 0xffe5, 0xffe5, 0xffe5, 0xffe5, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0x1fe9, 0x07e6, 0x07e6, 0x07e6, 0xaff7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8ff4, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x2fea, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffed, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0x1fe9, 0x07e6, 0x07e6, 0x07e6, 0xaff7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8ff4, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x2fea, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffed, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0x1fe9, 0x07e6, 0x07e6, 0x07e6, 0xaff7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8ff4, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x27ea, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffed, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0x1fe9, 0x07e6, 0x07e6, 0x07e6, 0x1fe9, 0x27ea, 0x27ea, 0x27ea, 0x27ea, 0x27ea, 0x17e9, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e7, 0x27ea, 0x27ea, 0x27ea, 0x27ea, 0x27ea, 0x27ea, 0x27ea, 0x27ea, 0x27ea, 0x27ea, 0x27ea, 0x27ea, 0x27ea, 0x27ea, 0xafe4, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0x1fe9, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x9fe2, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0x1fe9, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x9fe2, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0x1fe9, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x07e6, 0x9fe2, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0, 0xffc0};

void setup(void) {
  Serial.begin(115200);

  tft.init(240, 320);
  tft.setRotation(2);
  tft.fillScreen(ST77XX_BLACK);

  tft.setCursor(40, 30);
  tft.setTextSize(3);
  tft.setTextColor(ST77XX_GREEN);
  tft.println("farmsoft");
  tft.println("");

  tft.setTextWrap(true);
  tft.setTextSize(2);
  tft.setTextColor(ST77XX_RED);
  tft.print("ESP32");
  tft.setTextSize(1);
  tft.setTextColor(ST77XX_WHITE);
  tft.println("");
  tft.println("           is a series of low-cost, low-power system on a chip microcontrollers with integrated Wi-Fi and dual-mode Bluetooth. The ESP32 series employs either a Tensilica Xtensa LX6 microprocessor in both dual-core and single-core variations, an Xtensa LX7 dual-core microprocessor, or a single-core RISC-V microprocessor and includes built-in antenna switches, RF balun, power amplifier, low-noise receive amplifier, filters, and power-management modules. ESP32 is created and developed by Espressif Systems, a Chinese company based in Shanghai, and is manufactured by TSMC using their 40 nm process.[2] It is a successor to the ESP8266 microcontroller.");

  tft.drawRGBBitmap(170, 250, bmpimg, 60, 60);
}

void loop() {

}
コード説明

必要なライブラリをインクルードします。

#include <Adafruit_GFX.h>
#include <Adafruit_ST7789.h>
#include <SPI.h>

Adafruit_GFX」は、グラフィックライブラリで、「Adafruit_ST7789」「SPI」は、通信ライブラリです。

使用するGPIOピンを設定します。

#define TFT_CS  5
#define TFT_RST 4
#define TFT_DC  16

使用するGPIOピンをそれぞれ設定します。

Adafruit_ST7789 tft = Adafruit_ST7789(TFT_CS, TFT_DC, TFT_RST);

画面サイズで初期化します。

  tft.init(240, 320);

以降は、「Adafruit_GFX」のグラフィックライブラリを使用して描画しています。この機能は文字や図形・画像表示もできます。詳しくはこちらを参照ください👇

動作確認

正常に表示させることができれば、以下のようになります。

解像度が高く、非常に綺麗に表示されています。

画像の表示方法はこちらをご覧ください👇

おわりに

非常に綺麗に表示されますし、慣れれば文字や線、画像も簡単に表示させることができます。しかも、意外に安価で手に入るため、非常に便利です。ただし、GPIOピンを多く接続する必要があるため、I2C 接続で表示させることができる液晶ディスプレイの方が手軽さは上ですね。

コメント

タイトルとURLをコピーしました