LCD(Liquid Crystal Display) JP
アドゥイノのLCDモジュールは、文字や数字を表示するために使用されるモジュールで、主に16x2または20x4サイズのLCDディスプレイが多く使用されています。このドキュメントでは、I2C通信が可能なLCDを扱います。一般的な並列インターフェースではなくI2Cインターフェースを使用すると、ピン数を減らし配線を簡素化できます。アドゥイノボードと簡単に接続して、様々なプロジェクトで情報を視覚的に表現できます。
主な仕様
- ディスプレイサイズ : 16x2、20x4が一般的です。
- 電源供給範囲 : 5V(アドゥイノボードから直接供給)
- インターフェース : I2C(SDA、SCL)
- 文字セット : ASCII文字セット対応
- I2Cアドレス : 基本的に0x27または0x3F(モジュールによって異なります)
機能
- 文字表示 : アルファベット、数字、特殊文字を表示できます。図形やグラフィックの場合は非常に制限があり、グラフィックLCDやOLEDがより適しています。
- バックライト制御 : バックライトをオン/オフし、明るさを調整できます。
- カーソル制御 : setCursor()を利用してカーソルの位置を移動したり隠したりできます。
- スクロール機能 : テキストを左右にスクロールできます。
- 背面に可変抵抗があり、文字の明るさを調整可能です。
活用例
ライブラリ
- Wire(基本ライブラリのため、インストール不要)
- LiquidCrystal I2C:ライブラリのインストール方法リンクでインストール方法を確認してください。
接続
サイズ(16x2、20x4)に関係なく同じです。
| I2C LCDモジュールピン | アドゥイノUNOピン |
|---|---|
| VCC | 5V |
| GND | GND |
| SDA | A4 |
| SCL | A5 |
1. モジュールアドレスの確認
1-1. コード
#include <Wire.h>
void setup()
{
Wire.begin();
Serial.begin(9600);
Serial.println("\nI2C Scanner");
}
void loop()
{
byte error, address;
int nDevices;
Serial.println("Scanning...");
nDevices = 0;
for(address = 1; address < 127; address++ )
{
Wire.beginTransmission(address);
error = Wire.endTransmission();
if (error == 0)
{
Serial.print("I2C device found at address 0x");
if (address<16)
Serial.print("0");
Serial.print(address,HEX);
Serial.println(" !");
nDevices++;
}
else if (error==4)
{
Serial.print("Unknow error at address 0x");
if (address<16)
Serial.print("0");
Serial.println(address,HEX);
}
}
if (nDevices == 0)
Serial.println("No I2C devices found\n");
else
Serial.println("done\n");
delay(5000);
}
1-2. 実行結果
2. LCD에 텍스트 출력하기
2-2. 코드
2. LCDにテキストを表示
2-2. コード
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
void setup()
{
//使用前にlcdを初期化します。
lcd.init();
//lcdのバックライトを作動させます。
lcd.backlight();
//lcdの位置を(0,0)に指定します。(左上基準)
lcd.setCursor(0, 0);
//出力する文句を作成します。
lcd.print("Gongzipsa");
//lcdの位置を(0,1)に指定します。
lcd.setCursor(0, 1);
//val値を出力します。
int val = 1004;
lcd.print(val);
}
void loop(){}
2-2. 実行結果
参考文書




