Seeed K.K.の松岡です。
ここ1ヵ月ほど、Wio Terminalをイジっていました。Wi-Fiあたりを。
まだベストなパフォーマンスとはいえませんが、かなり改善できたと思います。この件については、また改めてブログに書きたいなと思っています。
パフォーマンスの良くない #WioTerminal の無線LANについて、RTL8720DNのファーム修正をSeeed K.K.が引き取って行うことにしました。7月いっぱいくらい修正を行います。場合によっては後方互換性が失われますので、RTL8720DNと通信するソフトウェアを開発していらっしゃる方はご注意くださいm(_ _)m
— Seeed K.K. (@SeeedJP) 2020年7月2日
Wi-Fiがひと段落したので、本ブログでWio Terminalのソフトウェア開発を数回に分けて紹介していこうと考えています。
今回はディスプレイに文字を表示してみましょう。
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()でディプレイの縦幅を取得できます。
サンプルスケッチ
参考に、最初の写真のスケッチをここに置いておきます。
予告
文字が小さくて見にくいので、、、次回、文字サイズとフォントを変更したいと思います。
変更履歴
日付 | 変更者 | 変更内容 |
---|---|---|
2020/8/7 | 松岡 | 作成 |
2020/8/18 | 松岡 | サンプルスケッチのリンクを訂正 |