Help us understand the problem. What is going on with this article?

M5Stackで日本語表示させてみる

More than 1 year has passed since last update.

M5StackのTFTディスプレィAPIは日本語表示に対応していないのですが、Arduino IDEが使えるので、過去のArduino関係での表示例を探したところ、手頃なものがありました。

探した元ネタはこちらです: NefryBTで日本語表示させてみる

元ネタと同様に misakiUTF16_1.04.zipをダウンロードして、
Arduino IDEの「スケッチ」→「ライブラリをインクルード」→「.ZIP形式のライブラリのインクルード」でインストールします。

表示サンプルコードの移植は、ほとんどフォントのドットデータの描画をM5StackのAPIで置き換えるだけでした。

以下、結果です。

#include <M5Stack.h>
#include <misakiUTF16.h>

void misakiPrint(int x, int y, char * pUTF8) {
  int n=0;
  byte buf[40][8];  //320x8ドットのバナー表示パターン
  while(*pUTF8)
    pUTF8 = getFontData(&buf[n++][0], pUTF8);  // フォントデータの取得

  // 文字の描画
  for (byte i=0; i < 8; i++) {
    for (byte j=0; j < n; j++) {
      for (byte k=0; k<8;k++) {
        if(bitRead(buf[j][i],7-k)) {
          M5.Lcd.drawPixel(x + 8*j + k , y + i, TFT_WHITE);
        }
      }
    }
  }
}

void setup() {
    M5.begin();
    M5.startupLogo();

    M5.Lcd.setBrightness(100);
    M5.Lcd.fillScreen(TFT_BLACK);
    misakiPrint(0,0, "みさきフォントで書き出してみる☆");
    misakiPrint(0,16, "ごめん、ヘルシェイク矢野のことを考えてた…");
    misakiPrint(0,24, "ごめん、ヘルシェイク矢野のことを考えてた…");
    misakiPrint(0,32, "ごめん、ヘルシェイク矢野のことを考えてた…");
    misakiPrint(0,40, "ごめん、ヘルシェイク矢野のことを考えてた…");

    delay(5000);

    M5.Lcd.fillScreen(TFT_BLACK);
    misakiPrint(60,28, "ヘールシェイク!!");
    delay(1500);
    misakiPrint(15,50, "ヘールシェイク!!");
    delay(1500);
    misakiPrint(80,36, "ヘールシェイク!!");
    delay(1500);
    misakiPrint(20,3, "ヘールシェイク!!");
}

void loop() {
}

動かすと...

IMG_4355.mov.gif

M5StackのTFTディスプレイに表示するにはちょっと小さいので、そのうち別のフォントでも試してみようと思います。

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away