2016年05月24日 | 公開。 |
AQM1248Aはキャラクタフォントを持たないグラフィックLCDモジュールですので、本来は10ページで説明したとおり、文字列を表示するには、表示したい文字列のビットマップを転送する必要があります。
しかしMGLCDライブラリを使う場合には、ライブラリが8×6ピクセルのフォントを内蔵していますので、表示したい文字列を指定するだけで、ライブラリが文字列をビットマップ化した上で、AQM1248Aに送信します。
使える文字は、英数字や標準的な半角記号(!,",#,$,%,&,=,@,*,+,-,\など)と半角カタカナです。(文字コード表参照)
MGLCDライブラリで画面に文字を表示する場合は、print関数およびprintln関数を使います。使い方は、Serial変数を使ってシリアルポートに文字を送信するのと同じです。
例えば、シリアルポートに"Hello"と送信するには、次の様にします。
Serial.print("Hello");
AQM1248Aの画面に"Hello"と表示するには、SerialをMGLCDに変えて、
MGLCD.print("Hello");
とします。
シリアル出力に使える構文は全て使えるので、次の様な事ができます。
MGLCD.println("Hello"); // 改行つきの文字列表示
MGLCD.print(123); // 整数の表示
MGLCD.print(123,HEX); // 16進数表示(7B)
MGLCD.print(1.23456,2); // 小数点2桁の表示(1.23)
MGLCD.print(F("ABC")); // Fマクロを使った文字列表示
画面を消去するには、ClearScreen関数を使って次の様にします。
MGLCD.ClearScreen();
文字の表示位置を制御するにはLocate関数を使います。Locate関数の構文は次の通りです。
AQM1248Aは横128ピクセル、縦48ピクセルのグラフィックLCDモジュールですが、8×6ピクセルのフォントを用いると、横方向に21桁、縦方向に6行の表示ができます。Locate関数では、左上の文字位置を原点(0,0)とし、右下の文字位置を(20,5)として座標を扱います。
Locate関数にprint関数やprintln関数が続いて呼び出された場合、直前のLocate関数で指定された座標に文字列を表示します。
この機能を使えば、例えばリスト39に示すデモスケッチができます。スケッチを走らせると、"DEMO START"と2秒表示したのち、'A'という文字が左右に往復運動します。
注:リスト39のスケッチは、AQM1248AがハードウェアSPI接続されている事を前提に作られています。
// ヘッダファイルのインクルード
#include <MGLCD.h>
#include <MGLCD_SPI.h>
#include <SPI.h>
// ピン割り当てとSPIクロック周波数の宣言
#define CS_PIN 10
#define DI_PIN 9
#define MAX_FREQ (1000*1000L)
// オブジェクト変数の宣言
MGLCD_AQM1248A_SPI MGLCD(MGLCD_SpiPin2(CS_PIN, DI_PIN), MAX_FREQ);
void setup()
{
// LCDの初期化
while(MGLCD.Reset());
// スタートメッセージ
MGLCD.print("DEMO START");
delay(2000);
MGLCD.ClearScreen();
}
void loop()
{
// 'A'という文字を右方向に移動させる
for(int i=0; i<20; i++) {
MGLCD.Locate(i,0);
MGLCD.print("A");
delay(300);
MGLCD.Locate(i,0);
MGLCD.print(" ");
} // for i
// 'A'という文字を左方向に移動させる
for(int i=20; i>0; i--) {
MGLCD.Locate(i,0);
MGLCD.print("A");
delay(300);
MGLCD.Locate(i,0);
MGLCD.print(" ");
} // for i
}
リスト39のスケッチを実行した時の画面を写真34と写真35に示します。
他にも色々と、テキスト表示のための関数があるのですが、別のページにリファレンスマニュアルとしてまとめます。
次のページでは、グラフィック表示関数について説明します。
商品名 | 122X32モノクログラフィックLCDシールド | |
税抜き小売価格 | 3333円 | |
販売店 | スイッチサイエンス | |
サポートページ | 122X32モノクログラフィックLCDシールドサポートページ |
商品名 | GLCD学習シールドキット | |
税抜き小売価格 | 1410円 | |
販売店 | スイッチサイエンス | |
サポートページ | GLCD学習シールドキットサポートページ |