LiquidCrystal
LGPL-2.1V1.0.7 Arduino, Adafruit2026/07/02
Arduino

英数字用液晶ディスプレイとの通信を行う。

Arduino/Genuinoボードを使って、日立HD44780(もしくは互換品)チップ搭載の液晶ディスプレイを制御するためのライブラリである。このチップは文字表示のためのほとんどの液晶ディスプレイによって採用されている。このライブラリは4ビットモードと8ビットモードのどちらでも動作する。すなわち、rs, enable,rw(rwはオプション)の制御ライン以外に4本もしくは8本のデータラインを使う。

リポジトリ

Arduinoボードを使って、日立HD44780(もしくは互換品)チップ搭載の液晶ディスプレイを制御するためのライブラリである。このチップは文字表示のためのほとんどの液晶ディスプレイによって採用されている。このライブラリは4ビットモードと8ビットモードのどちらでも動作する。すなわち、rs, enable,rw(rwはオプション)の制御ライン以外に4本もしくは8本のデータラインを使う。

このライブラリを使うためには、以下を宣言する。

#include <LiquidCrystal.h> 
このライブラリは全てのアーキテクチャで利用できるので、全てのArduinoボードで利用できる。

このライブラリを使うためには、Arduino IDEでライブラリマネージャを開きインストールする。

LiquidCrystal()

名称

LiquidCrystal::LiquidCrystal()

説明

LiquidCrystal型の変数を作成する。液晶ディスプレイは4本もしくは8本のデータラインで制御できる。4本のデータラインで制御するときは、d0からd3は未接続とする。RWピンはArduinoに接続せずに、接地してもいい。その場合は、この関数のパラメータのrwを省略する。

書式

LiquidCrystal::LiquidCrystal(uint8_t rs, uint8_t rw, uint8_t enable, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7);

LiquidCrystal::LiquidCrystal(uint8_t rs, uint8_t enable, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7);

LiquidCrystal::LiquidCrystal(uint8_t rs, uint8_t rw, uint8_t enable, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3);

LiquidCrystal::LiquidCrystal(uint8_t rs, uint8_t enable, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3);

引数

rs液晶ディスプレイのRSピンを接続したArduinoのピン番号。
rw液晶ディスプレイのRWピンを接続したArduinoのピン番号(オプション)。
enable液晶ディスプレイのenableピンを接続したArduinoのピン番号。
d0-d7液晶ディスプレイのデータピンを接続したArduinoのピン番号。d0, d1, d2, d3は省略可能で、省略した場合は d4, d5,d6, d7の4本のデータラインで液晶ディスプレイを制御する。

戻り値

なし。

使用例

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
#include <LiquidCrystal.h>

LiquidCrystal lcd(12, 11, 10, 5, 4, 3, 2);

void setup()
{
  lcd.begin(16,1);
  lcd.print("hello, world!");
}

void loop() {}

オリジナルのページ

https://www.arduino.cc/reference/en/libraries/liquidcrystal/liquidcrystal/

begin()

名称

LiquidCrystal::begin()

説明

液晶ディスプレイのインターフェイスを初期化する。また、ディスプレイの大きさ(幅と高さ)を指定する。begin()は、他のLCDライブラリの関数を利用する前に呼び出す必要がある。

書式

void LiquidCrystal::begin(uint8_t cols, uint8_t lines, uint8_t dotsize);

引数

cols液晶ディスプレイの列数(1行あたりの文字数)。
lines液晶ディスプレイの行数。
dotsize文字の大きさ(オプション)。省略したときは、LCD_5x8DOTS。他に、LCD_5x10DOTSも指定可能。

戻り値

なし。

オリジナルのページ

https://www.arduino.cc/reference/en/libraries/liquidcrystal/begin/

clear()

名称

LiquidCrystal::clear()

説明

LDCディスプレイを消去しカーソルを左上隅に配置する。

書式

void LiquidCrystal::clear();

引数

なし。

戻り値

なし。

オリジナルのページ

https://www.arduino.cc/reference/en/libraries/liquidcrystal/clear/

home()

名称

LiquidCrystal::home()

説明

液晶ディスプレイの左上隅にカーソルを配置する。以降の液晶ディスプレイへの文字はその位置(左上隅)に出力される。同時に液晶ディスプレイの表示を消したい場合は、clear()関数を使うこと。

書式

void LiquidCrystal::home();

引数

なし。

戻り値

なし。

オリジナルのページ

https://www.arduino.cc/reference/en/libraries/liquidcrystal/home/

setCursor()

名称

LiquidCrystal::setCursor()

説明

液晶ディスプレイのカーソル位置を設定する。以降の液晶ディスプレイへの文字はカーソルを設定した位置に出力される。

書式

void LiquidCrystal::setCursor(uint8_t col, uint8_t row);

引数

colカーソル位置(列)。最初の列は0である。
rowカーソル位置(行)。最初の行は0である。

戻り値

なし。

オリジナルのページ

https://www.arduino.cc/reference/en/libraries/liquidcrystal/setcursor/

write()

名称

LiquidCrystal::write()

説明

液晶ディスプレイに文字を書く。

書式

size_t LiquidCrystal::write(uint8_t value);

引数

value液晶ディスプレイに書き込む文字。

戻り値

液晶ディスプレイに書いた文字数。

使用例

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
#include <LiquidCrystal.h>

LiquidCrystal lcd(12, 11, 10, 5, 4, 3, 2);

void setup()
{
  Serial.begin(9600);
}

void loop()
{
  if (Serial.available()) {
    lcd.write(Serial.read());
  }
}

オリジナルのページ

https://www.arduino.cc/reference/en/libraries/liquidcrystal/write/

print()

名称

LiquidCrystal::print()

説明

液晶ディスプレイに文字を書く。

書式

size_t Print::print(const __FlashStringHelper *ifsh);

size_t Print::print(const String &s);

size_t Print::print(const char str[]);

size_t Print::print(char c);

size_t Print::print(unsigned char b, int base = DEC);

size_t Print::print(int n, int base = DEC);

size_t Print::print(unsigned int n, int base = DEC);

size_t Print::print(long n, int base = DEC);

size_t Print::print(unsigned long n, int base = DEC);

size_t Print::print(double n, int digits = 2);

size_t Print::println(const __FlashStringHelper *ifsh);

引数

s, str, c, b, n液晶ディスプレイに書き込む文字/数値。
base表示する値の底。BIN:2進数、DEC:10進数、OCT:8進数、HEX:16進数。省略時は、DEC。
digits小数点以下の表示桁数。省略時は2。

戻り値

液晶ディスプレイに書いた文字数。

使用例

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
#include <LiquidCrystal.h>

LiquidCrystal lcd(12, 11, 10, 5, 4, 3, 2);

void setup()
{
  lcd.print("hello, world!");
}

void loop() {}
cursor()

名称

LiquidCrystal::cursor()

説明

液晶ディスプレイのカーソルを表示する。次に文字が書かれる場所に下線が表示される。

書式

void LiquidCrystal::cursor();

引数

なし。

戻り値

なし。

noCursor()

名称

LiquidCrystal::noCursor()

説明

液晶ディスプレイのカーソルを消す。

書式

void LiquidCrystal::noCursor();

引数

なし。

戻り値

なし。

blink()

名称

LiquidCrystal::blink()

説明

液晶ディスプレイのカーソルを点滅させる。cursor()関数とともに利用するときは、結果は個々の液晶ディスプレイによって異なる。

書式

void LiquidCrystal::blink();

引数

なし。

戻り値

なし。

noBlink()

名称

LiquidCrystal::noBlink()

説明

液晶ディスプレイのカーソルを点滅を停止する。

書式

void LiquidCrystal::noBlink();

引数

なし。

戻り値

なし。

display()

名称

LiquidCrystal::display()

説明

noDisplay()によって消灯していた液晶ディスプレイを点灯させる。(消灯前の)文字とカーソルは保持されている。

書式

void LiquidCrystal::display();

引数

なし。

戻り値

なし。

noDisplay()

名称

LiquidCrystal::noDisplay()

説明

液晶ディスプレイを消灯する。消灯前に表示されていた文字列は失われない。

書式

void LiquidCrystal::noDisplay();

引数

なし。

戻り値

なし。

scrollDisplayLeft()

名称

LiquidCrystal::scrollDisplayLeft()

説明

液晶ディスプレイに表示されている文字とカーソルとを1文字分左にずらす。

書式

void LiquidCrystal::scrollDisplayLeft();

引数

なし。

戻り値

なし。

scrollDisplayRight()

名称

LiquidCrystal::scrollDisplayRight()

説明

液晶ディスプレイに表示されている文字とカーソルとを1文字分右にずらす。

書式

void LiquidCrystal::scrollDisplayRight();

引数

なし。

戻り値

なし。

autoscroll()

名称

LiquidCrystal::autoscroll()

説明

液晶ディスプレイの自動スクロールを開始する。全ての文字を1文字ずつ前の位置にずらす。現在の文字列の表示方向がデフォルトの左から右であれば、表示は左にずれていく。現在の文字列の表示方向が右から左であれば、表示は右にずれていく。新しい文字が液晶ディスプレイ上の同じ場所に表示されるという効果が出る。

(訳者註)表示している文字を自動的にスクロールするのではなく、新たに文字を表示するときに表示されている文字がすべてスクロールします(私の環境ではですが)。

書式

void LiquidCrystal::autoscroll();

引数

なし。

戻り値

なし。

noAutoscroll()

名称

LiquidCrystal::noAutoscroll()

説明

液晶ディスプレイの自動スクロールを停止する。

書式

void LiquidCrystal::noAutoscroll();

引数

なし。

戻り値

なし。

leftToRight()

名称

LiquidCrystal::leftToRight()

説明

液晶ディスプレイの文字列の表示方向をデフォルトの「左から右」に設定する。液晶ディスプレイに表示される文字が左から右に表示されることを意味する。すでに表示されている文字列には影響を与えない。

書式

void LiquidCrystal::leftToRight();

引数

なし。

戻り値

なし。

rightToLeft()

名称

LiquidCrystal::rightToLeft()

説明

液晶ディスプレイの文字列の表示方向を「右から左」に設定する。液晶ディスプレイに表示される文字が右から左に表示されることを意味する。すでに表示されている文字列には影響を与えない。

書式

void LiquidCrystal::rightToLeft();

引数

なし。

戻り値

なし。

createChar()

名称

LiquidCrystal::createChar()

説明

液晶ディスプレイ上に表示するユーザ定義の文字(グリフ)を作成する。5x8ピクセルの文字を8文字まで定義できる。作成した文字には0から7の番号が振られる。各文字の形は8バイトの配列として表現する。各バイトの下位5ビットで各行の形を表現する。ユーザ定義の文字を液晶ディスプレイに表示するには、write()でその文字の番号を引数として渡す。

注意: ユーザ定義文字の"0"を参照するときに、変数を用いない場合は、“byte"にキャストしなければならない。そうしないと、コンパイラはエラーを出力する。下の使用例を参照すること。

書式

void LiquidCrystal::createChar(uint8_t location, uint8_t charmap[]);

引数

location作成する文字の番号(0から7)。
charmap文字のピクセルデータ。

戻り値

なし。

使用例

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
#include <LiquidCrystal.h>

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

byte smiley[8] = {
  B00000,
  B10001,
  B00000,
  B00000,
  B10001,
  B01110,
  B00000,
};

void setup() {
  lcd.createChar(0, smiley);
  lcd.begin(16, 2);  
  lcd.write(byte(0));
}

void loop() {}

オリジナルのページ

https://docs.arduino.cc/libraries/liquidcrystal/

inserted by FC2 system