💡
【M5coreS3】日本語の表示方法(方法を知りたい人向け)
M5stack core s3で日本語を表示させるには、日本語用ライブラリが必要です。
ネットで調べても断片的な方法を書いた記事しかなく、結局どうやるのか分かりにくかったのでまとめました。
開発環境
platformio.ini
[env:m5stack-cores3]
platform = espressif32
board = m5stack-cores3
board_build.mcu = esp32s3
board_build.f_cpu = 240000000L
framework = arduino
手順
ここからzip形式でダウンロードします
zipを解凍すると、以下のファイルがあるはずです。
libディレクトリに「efont」を設置し、先ほどダウンロードしたファイルから「src」と「library.json」
をコピーします。
your_project/
├── .pio/
├── include/
├── lib/
│ └── efont/
│ ├── src/
│ │ ├── efont.h
│ │ ├── efontFontData.h
│ │ └── efontEnableJa.h
| | ・・・その他もろもろ
│ ├── library.json
│ └── README.md
├── src/
│ └── main.cpp
└── platformio.ini
これで日本語を表示させる準備が整いました。
あとはmain.cppで動作確認してみましょう。
main.cpp
#include <M5CoreS3.h>
#include <efont.h>
#include <efontFontData.h>
void setup() {
auto cfg = M5.config();
M5.begin(cfg);
M5.Display.setFont(&fonts::efontJA_16); // または他のサイズを選択
M5.Display.setTextSize(1);
M5.Display.setTextColor(TFT_WHITE, TFT_BLACK);
}
void loop() {
M5.Display.fillScreen(TFT_BLACK);
M5.Display.setCursor(10, 50);
M5.Display.println("こんにちは、世界!");
delay(2000);
}
補足
platformioがefontを見つけられない場合
platformio.iniにはlibディレクトリを参照するよう、以下明記します。
[env:m5stack-cores3]
lib_extra_dirs =
${projectdir}/lib
build_flags =
-I${projectdir}/lib/efont/src
ガセ記事に注意
SDカードを使うとかLovyanGFXを使うと書いてある記事は、ガセであったり余計な手間をかけているだけなので、参考にしないように
Discussion