ディスプレイに文字を表示する(その1) @WioTerminal

Seeed K.K.の松岡です。
ここ1ヵ月ほど、Wio Terminalをイジっていました。Wi-Fiあたりを。
まだベストなパフォーマンスとはいえませんが、かなり改善できたと思います。この件については、また改めてブログに書きたいなと思っています。

Wi-Fiがひと段落したので、本ブログでWio Terminalのソフトウェア開発を数回に分けて紹介していこうと考えています。

今回はディスプレイに文字を表示してみましょう。

f:id:matsujirushix:20200806174702p:plain

Wio TerminalのArduino開発プラットフォームには、ディスプレイに文字やグラフィックスを表示するライブラリSeeed_Arduino_LCDが同封されています。そのため、ライブラリを追加インストールする必要はありません。

ディスプレイの初期化

ディスプレイを使うときは、TFT_eSPIの変数を用意して、begin()で初期化します。setRotation()で画面の向き、fillScreen()で初期の色で塗りつぶしておいてください。

#include <TFT_eSPI.h>

TFT_eSPI tft;

void setup() {
  tft.begin();
  tft.setRotation(3);
  tft.fillScreen(TFT_BLACK);

  ...
}

文字を表示

そして、文字を表示します。
このライブラリには文字を表示する方法が、指定した座標に文字を表示するdrawString()と、最後に表示した位置に続けて文字を表示するprint()の2つあります。(以降、ドロー系プリント系と書きます。)(プリント系は、別記事で書く予定です。)

ドロー系のdrawString()では、文字列と座標X、座標Yを指定すると、その座標の右下に文字列が表示されます。

  tft.drawString("Wio Terminal", 10, 10);

文字の色はsetTextColor()で文字色と背景色を指定できます。こんな感じ。(色のバリエーションはここ。)

  tft.setTextColor(TFT_DARKGREEN, TFT_BLACK);

指定した座標の右下ではなく、中央にしたいときは、setTextDatum()でMC_DATUMと指定することで変更できます。(DATUMのバリエーションはここ。)

  tft.setTextDatum(MC_DATUM);

「ディスプレイの中央に”Wio Terminal"と表示。」したいときは、次のコードを実行すればOKです。

  tft.setTextColor(TFT_DARKGREEN, TFT_BLACK);
  tft.setTextDatum(MC_DATUM);
  tft.drawString("Wio Terminal", tft.width() / 2, tft.height() / 2);

width()でディスプレイの横幅、height()でディプレイの縦幅を取得できます。

サンプルスケッチ

参考に、最初の写真のスケッチをここに置いておきます。

github.com

予告

文字が小さくて見にくいので、、、次回、文字サイズとフォントを変更したいと思います。

変更履歴

日付 変更者 変更内容
2020/8/7 松岡 作成
2020/8/18 松岡 サンプルスケッチのリンクを訂正