ArduinoでグラフィックLCDを動かす(S12232ZA編)(2)

このページをスマートフォンなどでご覧になる場合は、画面を横長にする方が読みやすくなる事があります。
目次へ  前のページへ (1) (2) (3) (4) 次のページへ
2015年06月02日 MGLCDライブラリVer.0.34Aのリリースにあわせて、記述を変更。
2017年01月23日 MGLCDライブラリVer.0.42を使用する様に、記述を変更。

3.MGLCDライブラリのインストール

S12232ZAを動作させるには、今回開発したMGLCDライブラリを使うのが楽です。Arduino IDEの1.0.1以降に対応しています。MGLCDライブラリのVer. 0.42をインストールしてください。インストールの方法は、MGLCDライブラリユーザーマニュアルに書いてあります。

注:インストールが必要なのは、MGLCDライブラリだけです。MGLCD_SPIライブラリのインストールは、必ずしも必要ではありません。

4.動作チェック

MGLCDライブラリをインストールしたら、前頁の回路図通りに配線して、とりあえずデモスケッチを走らせて見ましょう。

Arduino IDEを起動し、メニューよりファイル→スケッチの例→MGLCD→mglcd_S12232ZA→demoを選択します。

図2、demoスケッチを開く
図2、demoスケッチを開く

demoスケッチのウィンドウが開いたら、ツール→マイコンボードツール→シリアルポートのメニューでArduinoの種類とシリアルポートの番号を指定します。後は、スケッチをArduinoに書き込むだけで、色々な表示のデモが始まります。

図3、Arduinoの種類とシリアルポートの番号を確認
図3、Arduinoの種類とシリアルポートの番号を確認

この時点でLCDにうまく文字やグラフィックが表示できなかった場合は、配線のミスが疑われます。もう一度結線を確かめてください。

広告

5.MGLCDライブラリの使い方(初期化編)

MGLCDライブラリを使うには、スケッチの中で初期化コードを書く必要があります。

まず、MGLCD.hというヘッダファイルをインクルードしてください。

#include <MGLCD.h>

次に、LCDのピンをArduinoにどのように接続するか(ピン割り当て)を指定する必要があります。

TLcdPinAssignTable PinAssignTable={
    A0_DI  : A3, // A0
    CS1_E1 : A0, // E1
    CS2_E2 : A1, // E2
    E      : MGLCD_UNUSED_PIN,
    RW     : A2,
    DB0    : 8 ,
    DB1    : 9 ,
    DB2    : 10,
    DB3    : 11,
    DB4    : 4 ,
    DB5    : 5 ,
    DB6    : 6 ,
    DB7    : 7
}; // PinAssignTable;

ピン割り当てを変えるなら上の宣言を書き換える必要がありますが、元もとの回路図のまま動作させるなら、変更する必要もないので、宣言の詳細はここでは説明しないことにします。おまじないのような宣言だと今は思っていてください。

次に、MGLCD_S12232ZA型の変数(名前は何でも良いが、ここではMGLCDとする)を宣言します。

MGLCD_S12232ZA MGLCD(PinAssignTable);

LCDを操作するには、このMGLCDという変数を使って行います。まず、Reset関数を用いてLCDを初期化します。

MGLCD.Reset();

また、今回の回路では、3番ピンに方形波を出力し、チャージポンプ回路で負電圧を発生しています。3番ピンに方形波を出すには、次の様にanalogWrite関数を使います。(Arduinoを使わずに負電圧を発生する回路の場合は、analogWrite関数は必要ない)

pinMode(3,OUTPUT);
analogWrite(3,127);

以上で初期化作業は終わりです。

最後にprint関数を用いて、"Hello, world!"と表示してみて、動作を確かめましょう。

MGLCD.print("Hello, world!");
写真5、サンプルスケッチの実行結果
写真5、サンプルスケッチの実行結果

以上の作業をスケッチとしてまとめると、次の様になります。

#include <MGLCD.h>

TLcdPinAssignTable PinAssignTable={
    A0_DI  : A3, // A0
    CS1_E1 : A0, // E1
    CS2_E2 : A1, // E2
    E      : MGLCD_UNUSED_PIN,
    RW     : A2,
    DB0    : 8 ,
    DB1    : 9 ,
    DB2    : 10,
    DB3    : 11,
    DB4    : 4 ,
    DB5    : 5 ,
    DB6    : 6,
    DB7    : 7
}; // PinAssignTable;

MGLCD_S12232ZA MGLCD(PinAssignTable);

void setup()
{
  MGLCD.Reset();

  pinMode(3,OUTPUT);
  analogWrite(3,127);

  MGLCD.print("Hello, world!");
}

void loop ()
{
}

次のページではテキスト表示について解説します。

目次へ  前のページへ (1) (2) (3) (4) 次のページへ

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

関連ページ

関連製品

S12232ZA 商品名 S12232ZA
税抜き小売価格 400円
販売店 スイッチサイエンス
サポートページ
GLCD学習シールドキット 商品名 GLCD学習シールドキット
税抜き小売価格 1410円
販売店 スイッチサイエンス
サポートページ
PCBgogoのバナー
Arduino 電子工作
このサイトの記事が本になりました
ISBN:978-4-7775-1941-5
工学社の書籍の内容の紹介ページ
本のカバーの写真か書名をクリックすると、Amazonの書籍購入ページに移動します。
電子工作で学ぶ論理回路入門
このサイトの中の人が書いた本です。
ISBN:978-4-7775-2280-4
工学社の書籍の内容の紹介ページ
この本の紹介記事
本のカバーの写真か書名をクリックすると、Amazonの書籍購入ページに移動します。