SG12864ASLB-GBは、キャラクタフォントを持たないグラフィックLCDモジュールですが、MGLCDライブラリがキャラクタフォントを持っているので、キャラクタLCDモジュールと同じ感覚で使えます。使える文字は、英数字や標準的な半角記号(!,",#,$,%,&,=,@,*,+,-,\など)と半角カタカナです。(文字コード表参照)
MGLCDライブラリで画面に文字を表示する場合は、print関数およびprintln関数を使います。使い方は、Serial変数を使ってシリアルポートに文字を送信するのと同じです。
例えば、シリアルポートに"Hello"と送信するには、次のようにします。
Serial.print("Hello");
LCDの画面に"Hello"と表示するには、SerialをMGLCDに変えて、
MGLCD.print("Hello");
とすればOKです。
シリアル出力に使える構文は全て使えるので、次の様なことができます。
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関数の構文は次の通りです。
SG12864ASLB-GBは横128ピクセル、縦64ピクセルのグラフィックLCDモジュールですが、8X6ドットフォントを用いると、横方向に21文字、縦方向に8行表 示できます。Locate関数では、左上の文字位置を原点(0,0)とし、右下の文字位置を(20,7)として座標を扱います。
Locate関数にprint関数やprintln関数が続いて呼び出された場合、直前のLocate関数で指定された座標に文字列を表示します。
この機能を使えば、例えば次の様なデモスケッチができます。スケッチを走らせると、"DEMO START"と2秒表示した後、'A'と言う文字が左右に往復運動します。
#include <mglcd.h> static const TLcdPinAssignTable PinAssignTable={ A0_DI : A3, // A0 for SG12232, D/I for SG12864 CS1_E1 : A0, // CS1 CS2_E2 : A1, // CS2 E : A4, RW : A2, DB0 : 8 , DB1 : 9 , DB2 : 10, DB3 : 11, DB4 : 4 , DB5 : 5 , DB6 : 6 , DB7 : 7 }; // PinAssignTable; static mglcd_SG12864 MGLCD(PinAssignTable); 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 }
他にも色々と、テキスト表示のための関数があるのですが、別のページにリファレンスマニュアルとしてまとめます。
次のページでは、グラフィック表示の説明をします。
![]() |
商品名 | Arduino Uno用ブートローダスケッチライタシールドキット |
税抜き小売価格 | 1200円 | |
販売店 |
スイッチサイエンス![]() |
|
サポートページ | Arduino Uno用ブートローダライタシールドキットサポートページ |
![]() |
商品名 | Arduino用ブートローダ/スケッチライタキット |
税抜き小売価格 | 2200円 | |
販売店 |
スイッチサイエンス![]() |
|
サポートページ | Arduino用ブートローダ/スケッチライタキットサポートページ |