📟

LCDモジュール(I2C)の使い方

2023/01/09に公開

I2C版の特徴

  • バックライトの ON OFF をソフト側で制御できる
  • GPIOが4本で済む (I2Cでなかったら8本必要)
  • コントラスト調整が簡単 (I2Cモジュールが可変抵抗を装備している)

部品

https://www.amazon.co.jp/gp/product/B083DT6181
https://www.amazon.co.jp/dp/B010Q000V2

青いのが可変抵抗

配線

LCD 側 Arduino 側
SDA A4
SCL A5
GND GND
VCC 5V

ライブラリ

https://github.com/johnrickman/LiquidCrystal_I2C

別途インストールする

コード

#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27, 16, 2);

void setup() {
  lcd.init();
  lcd.backlight();
}

void loop() {
  lcd.home();
  lcd.print("COUNT:");
  lcd.print(millis());
}
  • 画面サイズ 16 x 2 はオブジェクト定義時に指定する
  • 最初に begin() ではなく init() を呼ぶ
  • begin() も用意されているが呼ばなくていいっぽい
  • バックライトが不要なら backlight() を呼ばないようにする

ドキュメントがない?

https://github.com/johnrickman/LiquidCrystal_I2C/blob/master/LiquidCrystal_I2C.h

ヘッダファイルを見て察する
LiquidCrystal をベースとして使いやすくなっているように見える

I2Cアドレスの知り方

A2 A1 A0 の状態で決まる
短絡していない状態が 1 になる
見ると短絡してないので 111 の 7 になる
ルールとして 0x20 から始まる
したがって 0x20 + 7 で 0x27 になる

Discussion

ログインするとコメントできます