LCD(Liquid Crystal Display) JP

아두위키 : Arduwiki
ArduWiki (토론 | 기여)님의 2025년 3월 19일 (수) 18:27 판

アドゥイノのLCDモジュールは、文字や数字を表示するために使用されるモジュールで、主に16x2または20x4サイズのLCDディスプレイが多く使用されています。このドキュメントでは、I2C通信が可能なLCDを扱います。一般的な並列インターフェースではなくI2Cインターフェースを使用すると、ピン数を減らし配線を簡素化できます。アドゥイノボードと簡単に接続して、様々なプロジェクトで情報を視覚的に表現できます。


主な仕様

  • ディスプレイサイズ : 16x2、20x4が一般的です。
  • 電源供給範囲 : 5V(アドゥイノボードから直接供給)
  • インターフェース : I2C(SDA、SCL)
  • 文字セット : ASCII文字セット対応
  • I2Cアドレス : 基本的に0x27または0x3F(モジュールによって異なります)


機能

  • 文字表示 : アルファベット、数字、特殊文字を表示できます。図形やグラフィックの場合は非常に制限があり、グラフィックLCDやOLEDがより適しています。
  • バックライト制御 : バックライトをオン/オフし、明るさを調整できます。
  • カーソル制御 : setCursor()を利用してカーソルの位置を移動したり隠したりできます。
  • スクロール機能 : テキストを左右にスクロールできます。
  • 背面に可変抵抗があり、文字の明るさを調整可能です。


活用例

ライブラリ


接続

サイズ(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. コード

#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. 実行結果

参考文書

アドゥイノ LCD Doc


購入リンク

Gongzipsamall