LiquidCrystal Libraryの各ファンクション

 日立のHD44780またはコンパチブルのLCD(液晶)キャラクタ・ディスプレイ・コントローラによるLCDキャラクタ・ディスプレイ・モジュールをArduinoマイコン・ボードに接続し、英数記号とモジュール側が対応している場合は半角仮名の表示ができます。

lcd1c.png
 LCDライブラリの利用は、最初にLiquidCrystal型の変数を定義するとともに接続方法を指定します。接続図を次に示します。

LCD01a.png
 定義された変数のファンクションとしてbegin()で表示範囲を決め、print()で表示処理を行います。その他表示を制御する各種のファンクションが用意されているので、これらのファンクションを活用して目的にかなった表示ができます。

LiquidCrystal型変数の生成

LiquidCrystal lcd(rs, enable, d4, d5, d6, d7)

  
 lcdはLiquidCrystal型の新しく作られる変数名です。この変数名とピリオドを、以下に説明する関数の頭に付加して機能を呼び出します。このアペンディックスでは上記の例で生成したlcdを例に説明します。実際のスケッチではLiquidCrystal()で定義した任意の名前の変数が利用できます。 
 そしてパラメータで具体的なLCDモジュールとの配線の接続の情報を設定します。
 パラメータはLCDモジュールを制御するための、

    rs   レジスタ選択
    rw   リード/ライト
    enable  イネーブル


 制御信号とd0 ~ d7の8ビットのデータ信号を割り当てます。
 このパラメータは、接続に合わせて4通りあります。

   最小の6本の配線  rs, enable, d4, d5, d6, d7
   制御が3本計7本   rs, rw, enable, d4, d5, d6, d7
   データ8本計10本  rs, enable, d0, d1, d2, d3, d4, d5, d6, d7
   最大11本の配線   rs, rw, enable, d0, d1, d2, d3, d4, d5, d6, d7


 8ビットのデータを4ビット・データに変換する処理はライブラリが処理するので、どのパラメータの設定の場合でもスケッチの使い勝手は同じで変わりません。
 Arduinoのディジタル・ピンは総数で14と限りがあるので、LCDモジュールとの接続は6本にするのが便利です。

begin()


 LCDキャラクタ・ディスプレイの表示領域を示します。設定しない場合は16桁1行表示になります。次のように使用します。

lcd.begin(cols, rows)

パラメータの colsは 表示列数を、rowsは表示行数を指定する。



clear()


 LCDキャラクタ・ディスプレイの表示をクリアして、カーソルの位置を上段(1行目)左端にセットします。次のようにして使用します。

lcd.clear()

 lcdはLiquidCrystal型の変数、事前に定義が必要。

home()


 カーソルの位置をホーム・ポジション、上段の左端にセットします。表示はクリアされません。次のように利用します。

lcd.home()

 lcdはLiquidCrystal型の変数、事前に定義が必要。

  

setCursor()


 カーソルの位置を指定します。桁は0から15、行の位置は0から1で示し、ホーム・ポジションは(0,0)となります。

lcd.setCursor(col, row)
 col: 列の位置、row: 行の位置

write()


 バイト・データを文字として表示します。データがint型などのように1バイトを超えるデータの場合、最下位のバイトが文字として表示されます。

lcd.write(data)

 data: 文字として表示するバイト・データ、データは文字コードとして認識される。



print()


 データをそれぞれの型に応じて表示し、文字列データは文字列がそのまま表示され、文字列以外は値がテキスト表示の数値として表示されます。データはデフォルトでは10進数表示で表示されます。16進数表示、2進数表示などの表示方法の指定もできます。使用方法は次のようになります。

lcd.print(data)

 文字列はそのまま文字列、データは10進表示で表示される。

lcd.print(data, BASE)

 データはBASEで示された書式で表示される。
data:  LCDキャラクタ・モジュールに表示されるデータで、BASEの指示に従い、 BINは 2進表示、 DECは 10進表示、 OCTは 8進表示, HEXは6進表示となる。



cursor()


 次に書き出す位置を示すカーソルの位置を表示します。次のように使用します。

lcd.cursor()

noCursor()


 カーソルの表示を見えないようにします。次のように使用します。

lcd.noCursor()

blink()


 LCDのカーソルを点滅表示します。使用方法は次のようになります。

lcd.blink()

noBlink()


 LCDのカーソルの点滅表示を停止します。使用方法は次のようになります。

lcd.noBlink()

display()


 noDisplayで表示停止していた表示を再開します。データやカーソルも表示します。

lcd.display()

noDisplay()


 LCDディスプレイの表示を停止します。データとカーソルのデータも保存され、display()表示が再開したときは表示内容も再表示されます。

lcd.noDisplay()

scrollDisplayLeft()


 表示されているテキスト、スペースを左側にシフトします。

lcd.scrollDisplayLeft()

scrollDisplayRight()


 表示されているテキスト、スペースを右側にシフトします。

lcd.scrollDisplayRight()

autoscroll()


 LCDの表示が自動的にスクロールするように設定されます。この設定を行うとLCDに書込まれたデータが順番にスクロールされます。

lcd.autoscroll()

noAutoscroll()


 autoscroll()で設定された自動スクロールの機能を停止します。

lcd.noAutoscroll()

leftToRight()


 スクロール時のスクロールの方向を左から右に設定します。デフォルト時はこの設定です。

lcd.leftTorRight()

rightToLeft()


 スクロールの方向を右から左にします。

lcd.rightToLeft()

createChar()


 カスタム・キャラクタを設定することができます。最大8文字まで作成することができます。キャラクタのパターンは8バイトの配列で設定します。パターンは5×8ドットのピクセル・パターンとなります。

lcd.createChar(num, data)
  num:  作成されたカスタム・キャラクタのナンバ 
  data:  カスタム・キャラクタのピクセル・データ

(2016/2/17 V1.0)

(「 Arduinoで計る,測る,量る 」CQ出版 p.67より一部追加))  

神崎康宏