You are here

文字LCDの利用

2008年9月にリリースされたArduino 0012には、文字LCD表示のライブラリLiquidCrystalが標準で組み込まれました。このライブラリを利用すると文字LCDを簡単に利用することができます。

Arduinoで文字LCDを利用する場合には、少ないピンを有効に活用するために、文字LCDを4ビットモードで利用するのが一般的でしょう。この場合には、ライブラリの初期化は以下のような形式で行います。

  • LiquidCrystal clcd(rs, rw, enable, d4, d5, d6, d7) ;
  • LiquidCrystal clcd(rs, enable, d4, d5, d6, d7) ; // rw端子がGNDに落とされている場合

Arduino+CLCD-PLUS

CLCD-PLUSは多くの入出力ピンを自由に使える状態で、Arduinoに文字液晶表示機能とスイッチ入力機能を追加できます。

Arduino+CLCD-PLUS

いきなりおきて破りで申し訳ないのですが、CLCD-PLUSではLiquidCrystalライブラリではなく、弊社のClcdPlusライブラリを利用します。
CLCD-PLUSはArduinoのI/Oピンと液晶が直接つながれているのではなく、SPIを利用して接続されています。このため、LiquidCrystalライブラリを利用することができないのですが、LiquidCrystalライブラリと互換性のあるClcdPlusライブラリを利用して同じように制御できます。
ClcdPlusでは、ライブラリの初期化は以下のような形式で行います。

  • ClcdPlus clcd

この後は、LiquidCrystalライブラリと同様に、clcd変数を利用して文字液晶への出力や操作を行うことができます。なお、ClcdPlusライブラリにはLiquidCrystalの機能だけではなく、以下のような機能も追加されています。

  • バックライトの点灯・消灯
  • LEDの点灯・消灯
  • スイッチの読み出し
  • 圧電スピーカーの発音・消音

Arduino+CLCD-BOOSTER

Arduinoに文字LCDを接続する方法として、シールドの一種であるCLCD-BOOSTERを利用する方法があります。CLCD-BOOSTERを利用するとArduinoのリファレンスボードに手軽に文字LCDを追加することができます。

Arduino+CLCD-BOOSTER

CLCD-BOOSTERのジャンパーJP3の1-2をショートさせ、文字LCDのR/~WピンをD3ピンで制御する場合には、以下の様に初期化して利用します。

  • LiquidCrystal clcd(4, 2, 3, 14, 15, 16, 17);

また、ジャンパーJP3の2-3をショートさせ、文字LCDのR/~WピンをGNDに固定した場合には、以下の様に初期化して利用します。

  • LiquidCrystal clcd(4, 3, 14, 15, 16, 17);

REDUINO-VARKYRIEでの文字LCDの利用

REDUINO-VALKYRIEのジャンパーJP3の1-2をショートさせ、文字LCDのR/~WピンをD3ピンで制御する場合には、以下の様に初期化して利用します。

  • LiquidCrystal clcd(6, 3, 7, 14, 15, 16, 17);

また、ジャンパーJP3の2-3をショートさせ、文字LCDのR/~WピンをGNDに固定した場合には、以下の様に初期化して利用します。

  • LiquidCrystal clcd(6, 7, 14, 15, 16, 17);

Arduino-0012パッケージのLiquidCrystalライブラリのソースコードを読むと、R/~Wピンは単にGNDに落とす処理しか行われておらず、文字LCDのステータスの読み出しなどは行われていません。したがって、貴重なI/Oピンを一つ浮かせることができる後者の方式での利用をお勧めします。


REDUINO-GHOSTでの文字LCDの利用

REDUINO-GHOSTの様に文字LCDを4ビットモードで利用する場合には、ライブラリの初期化は以下のような形式で行います。

  • LiquidCrystal clcd(rs, rw, enable, d4, d5, d6, d7) ;

REDUINO-GHOSTのジャンパーJP9の1-2をショートさせ、文字LCDのR/~WピンをD3ピンで制御する場合には、以下の様に初期化して利用します。

  • LiquidCrystal clcd(22, 3, 23, 27, 26, 25, 24);

また、ジャンパーJP9の2-3をショートさせ、文字LCDのR/~WピンをGNDに固定した場合には、以下の様に初期化して利用します。

  • LiquidCrystal clcd(22, 23, 27, 26, 25, 24);

Arduino-0012パッケージのLiquidCrystalライブラリのソースコードを読むと、R/~Wピンは単にGNDに落とす処理しか行われておらず、文字LCDのステータスの読み出しなどは行われていません。したがって、貴重なI/Oピンを一つ浮かせることができる後者の方式での利用をお勧めします。


AVR-DEV-AM168RLでの文字LCDの利用

AVR-DEV-AM168RLでの文字LCDの利用例を示します。

printメソッドには、整数値や基数を指定した整数値を出力するメソッドもオーバーライドされているので、以下のような出力指定もできます。

文字LCDを利用したスケッチをお楽しみください。


Arduino 0011での利用

Arduinoのライブラリとして、文字LCDを4ビットモードで利用するライブラリThe 4-bit Arduino LCD libraryが提供されています。

パッケージのフォルダLCD4Bitを所定の位置であるlibrariesフォルダ内に組み込み、パッケージに含まれるLCD4Bit.cppのLCD用のピン配置の変数をAVR-DEV-AM168RL用に設定すると、あっけないほど簡単に動きます。お試しください。

端子名 Arduinoポート番号 備考
RS 3
RW 11 元のまま:未使用
Enable 7
DB[0] 14 アナログポートをデジタルポートとして利用
DB[1] 15 アナログポートをデジタルポートとして利用
DB[2] 16 アナログポートをデジタルポートとして利用
DB[3] 17 アナログポートをデジタルポートとして利用
開発ソフト: 
技術: