ESP32-2432S022

ESP32-2432s022に日本語を表示する。
esp32-2432s022に表示するプログラムが見つからないので作ってみた。
TFT_eSPでは動かない事が判明したので、LovyanGFXで作成
esp32-2432s022のフォルダにLGFX_2432S022.hppを入れる。
--------------- esp32-2432s022.ino -----------------------
#define LGFX_USE_V1
#include <LovyanGFX.hpp>
#include "LGFX_2432S022.hpp" // ヘッダ
//LGFX_ESP32_2432S022 lcd;
LGFX_2432S022 lcd;
void setup()
{
lcd.init();
lcd.setRotation(1); // 画面の向き(0〜3で変更可)
lcd.fillScreen(TFT_BLACK);
// ★ 日本語対応フォントを指定(ゴシック体)
lcd.setFont(&fonts::lgfxJapanGothic_20);
lcd.setTextColor(TFT_WHITE, TFT_BLACK);
lcd.setCursor(10, 40);
lcd.println("こんにちは");
lcd.setCursor(10, 80);
lcd.println("おむつモニター");
// 1行だけにしたければ、これだけでもOK
// lcd.drawString("こんにちは", 10, 40);
}
void loop()
{
// 何もしない
}
---------------- LGFX_2432S022.hpp -----------------------------
#pragma once
#define LGFX_USE_V1
#include <LovyanGFX.hpp>
class LGFX_2432S022 : public lgfx::LGFX_Device {
lgfx::Bus_Parallel8 _bus_instance;
lgfx::Panel_ST7789 _panel_instance;
public:
LGFX_2432S022(void) {
{ // バス設定(8bitパラレル)
auto cfg = _bus_instance.config();
cfg.freq_write = 25000000; // 書き込み周波数
cfg.pin_wr = 4;
cfg.pin_rd = 2;
cfg.pin_rs = 16; // DC
cfg.pin_d0 = 15;
cfg.pin_d1 = 13;
cfg.pin_d2 = 12;
cfg.pin_d3 = 14;
cfg.pin_d4 = 27;
cfg.pin_d5 = 25;
cfg.pin_d6 = 33;
cfg.pin_d7 = 32;
_bus_instance.config(cfg);
_panel_instance.setBus(&_bus_instance);
}
{ // パネル設定(ST7789 240x320)
auto cfg = _panel_instance.config();
cfg.pin_cs = 17;
cfg.pin_rst = -1;
cfg.pin_busy = -1;
cfg.panel_width = 240;
cfg.panel_height = 320;
cfg.offset_x = 0;
cfg.offset_y = 0;
cfg.offset_rotation = 0;
cfg.readable = false;
cfg.invert = false;
cfg.rgb_order = false;
cfg.dlen_16bit = false;
cfg.bus_shared = true;
_panel_instance.config(cfg);
}
setPanel(&_panel_instance);
}
};
