商品名 | 128×64モノクログラフィックLCDシールド | |
税抜き小売価格 | 3600円 | |
販売店 | スイッチサイエンス |
2016年07月28日 | 暫定公開。 |
2016年08月18日 | 正式公開。 |
このページでは、MGLCDライブラリの、主なグラフィック表示関数について説明します。このページで紹介しきれなかった関数については、リファレンスマニュアルをご覧ください。
128×64モノクログラフィックLCDシールドは、横128ピクセル、縦64ピクセルのグラフィックLCDモジュールを使っています。MGLCDライブラリでは、画面左上が(0,0)、右下が(127,63)の座標系を使います。(図8参照)
画面に点を打つにはをSetPixel関数を使います。SetPixel関数の構文は次の通りです。
色は、白い点を打つ場合は1を、黒い点を打つ場合は0を指定してください。省略すれば、白い点になります。
注:MGLCDライブラリの標準では、0が白、1が黒を表す数字ですが、128×64モノクログラフィックLCDシールドは白黒が反転しているLCDを採用しているため、0が黒、1が白になります。
例えば次の例では、座標(10,56)に白い点を打ちます。(写真23参照。この写真では見にくいですが、左下の方に点を打っています)
MGLCD.SetPixel(10,56);
画面に線を引くには、Line関数を使います。Line関数の構文は次の通りです。
これで、(x座標1,y座標1)から(x座標2,y座標2)まで直線を引きます。色は白の場合1、黒の場合0です。色を省略すると白い線を引きます。
例えば、次の例では、座標(10,5)から(100,56)まで、白い直線を引きます。(写真24参照)
MGLCD.Line(10,5,100,56);
画面に長方形を描くには、Rect関数を使います。Rect関数の構文は次の通りです。
これで、(x座標1,y座標1)と(x座標2,y座標2)を対角とする長方形を、指定した色で描きます。色を省略すると白(1)となります。
例えば、次の例では座標(10,5)と座標(100,56)を対角とする、白い長方形を描きます。(写真25参照)
MGLCD.Rect(10,5,100,56);
もし、長方形を描く時に、枠を描くだけでなく中も塗りつぶしたいなら、Rect関数の代わりにFillRect関数を使います。
例えば、次の例では座標(10,5)と座標(100,56)を対角とする、白い、中を塗りつぶした長方形を描きます。(写真26参照)
MGLCD.FillRect(10,5,100,56);
円を描きたいなら、Circle関数を使います。Circle関数の構文は次の通りです。
これで、(x座標,y座標)を中心に、指定した半径で、指定した色の円を描きます。色を省略すると白(1)となります。
例えば、次の例では座標(60,31)を中心に、半径28の白い円を描きます。(写真27参照)
注:128×64モノクログラフィックLCDシールドのアスペクト比は1:1ではなく、1:1.190なので、縦長の楕円が表示されます。
MGLCD.Circle(60,31,28);
もし、外枠を描くだけでなく、円の中を塗りつぶしたいなら、Circle関数の代わりにFillCircle関数を使います。
例えば、次の例では座標(60,31)を中心に、半径28の白い円を、中を塗りつぶして描きます。(写真28参照)
MGLCD.FillCircle(60,31,28);
最後に、Line関数を用いた簡単なデモスケッチを紹介します。リスト5のスケッチを実行すると、写真29~写真31に示すような図形を表示します。
// ヘッダファイルのインクルード
#include <MGLCD.h>
#include <MGLCD_SPI.h>
#include <SPI.h>
// ピン割り当てとSPIクロック周波数の宣言
#define CS_PIN 10
#define DI_PIN 9
#define MAX_FREQ (7400*1000UL)
// オブジェクト変数の宣言
MGLCD_GH12864_20_SPI MGLCD(MGLCD_SpiPin2(CS_PIN, DI_PIN), MAX_FREQ);
void setup()
{
// LCDの初期化
MGLCD.Reset();
}
void loop ()
{
MGLCD.ClearScreen();
for(int i=0; i<63; i+=7) {
delay(200);
MGLCD.Line(i,0,63,i);
delay(200);
MGLCD.Line(63,i,63-i,63);
delay(200);
MGLCD.Line(63-i,63,0,63-i);
delay(200);
MGLCD.Line(0,63-i,i,0);
} // for
delay(1000);
}
商品名 | 122X32モノクログラフィックLCDシールド | |
税抜き小売価格 | 3333円 | |
販売店 | スイッチサイエンス | |
サポートページ | 122X32モノクログラフィックLCDシールドサポートページ |
商品名 | GLCD学習シールドキット | |
税抜き小売価格 | 1410円 | |
販売店 | スイッチサイエンス | |
サポートページ | GLCD学習シールドキットサポートページ |