128×64モノクログラフィックLCDシールドサポートページ(4)

このページをスマホなどでご覧になる場合は、画面を横長にする方が読みやすくなります。
目次へ  前のページへ (1) (2) (3) (4) (5) (6) 次のページへ
128×64モノクログラフィックLCDシールド 商品名 128×64モノクログラフィックLCDシールド
税抜き小売価格 3600円
販売店 スイッチサイエンス
2016年07月21日 暫定公開。
2016年08月18日 正式公開。

6-6.MGLCDライブラリの主な関数(テキスト表示編)

このページでは、MGLCDライブラリの、主なテキスト表示関数について説明します。このページで紹介しきれなかった関数については、リファレンスマニュアルをご覧ください。

6-6-1.内蔵フォント

128×64モノクログラフィックLCDシールドは、ハードウェア的にはキャラクタフォントを持っていません。しかし、MGLCDライブラリが8×6ピクセルのフォントを内蔵しています。

使える文字は英数字や標準的な半角記号(!,",#,$,%,&,=,@,*,+,-,\など)と半角カタカナです。(文字コード表参照)

6-6-2.print関数およびprintln関数

MGLCDライブラリで画面に文字を表示する場合は、print関数およびprintln関数を使います。使い方は、Serial変数を使ってシリアルポートに文字を送信するのと同じです。

例えば、シリアルポートに"Hello"と送信するには、次の様にします。

Serial.print("Hello");

128×64モノクログラフィックLCDシールドの画面に"Hello"と表示するには、SerialMGLCDに変えて、

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マクロを使った文字列表示 

6-6-3.ClearScreen関数

画面を消去するには、ClearScreen関数を使って次の様にします。

MGLCD.ClearScreen();

6-6-4.Locate関数

文字の表示位置を制御するにはLocate関数を使います。Locate関数の構文は次の通りです。

Locate(x座標,y座標);

128×64モノクログラフィックLCDシールドは横128ピクセル、縦64ピクセルのLCDを使っていますが、8×6ピクセルのフォントを用いると、横方向に21桁、縦方 向に8行の表示ができます。Locate関数では、左上の文字位置を原点(0,0)とし、右下の文字位置を(20,7)として座標を扱います。

Locate関数print関数println関数が続いて呼び出された場合、直前のLocate関数で指定された座標に文字列を表示します。

リスト4、Locate関数のデモスケッチCOPY
// ヘッダファイルのインクルード
#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の初期化
  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
}

リスト4のスケッチを実行した時の画面を写真と写真に示します。

写真21、Locate関数のデモスケッチの画面(1)
↑ 画像をクリックすると拡大
写真21、Locate関数のデモスケッチの画面(1)
写真22、Locate関数のデモスケッチの画面(2)
↑ 画像をクリックすると拡大
写真22、Locate関数のデモスケッチの画面(2)
目次へ  前のページへ (1) (2) (3) (4) (5) (6) 次のページへ

このページで使われている用語の解説

関連ページ

関連製品

122X32モノクログラフィックLCDシールド 商品名 122X32モノクログラフィックLCDシールド
税抜き小売価格 3333円
販売店 スイッチサイエンス
サポートページ
GLCD学習シールドキット 商品名 GLCD学習シールドキット
税抜き小売価格 1410円
販売店 スイッチサイエンス
サポートページ
Arduino 電子工作
このサイトの記事が本になりました。
書名:Arduino 電子工作
ISBN:978-4-7775-1941-5
工学社の書籍の内容の紹介ページ
本のカバーの写真か書名をクリックすると、Amazonの書籍購入ページに移動します。