Подключение LCD 1602 по I2C к Arduino

Символьный дисплей 16×2

LCD 1602 на I2C-переходнике подключается к Arduino Uno и Nano четырьмя проводами: 5 В, земля, SDA на A4, SCL на A5. Экран занимает два вывода вместо шести.

Схема подключения LCD 1602 по I2C к Arduino

LCD 1602 с I2CArduino Uno
SCLA5
SDAA4
VCC5V
GNDGND

Схема из примера «Arduino Uno: дисплей LCD 16x2 по I2C».

Arduino Uno: дисплей LCD 16x2 по I2C

Открыть пример целиком

Выводы LCD 1602 с I2C

ВыводНазначение
SCLтактовая линия I2C
SDAлиния данных I2C
VCCпитание 5 В
GNDобщий провод

Код для Arduino

#include <LiquidCrystal_I2C.h>

// Дисплей на I2C. Ни один вывод шины в скетче не назван — и это не
// упущение: у Uno менять их всё равно нельзя. SDA это A4, SCL это A5,
// они разведены внутри контроллера, и библиотека берёт их сама.
//
// На ESP32 всё наоборот: там Wire.begin(sda, scl) принимает любые
// выводы, и перенесённая схема с 21 и 22 здесь просто не заработает.
//
// Адрес обычно 0x27, реже 0x3F. Это свойство платы дисплея, а не
// микросхемы, и узнают его сканером шины.

LiquidCrystal_I2C lcd(0x27, 16, 2);

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

  lcd.setCursor(0, 0);
  lcd.print("PinPort");
  lcd.setCursor(0, 1);
  lcd.print("Arduino Uno");
}

void loop() {
  // Счётчик секунд во второй строке. Пробелы в конце затирают остаток
  // прошлого числа: дисплей не очищает знакоместа сам, и после 10 из
  // 100 осталась бы висеть двойка.
  lcd.setCursor(0, 1);
  lcd.print(millis() / 1000);
  lcd.print(" c        ");
  delay(200);
}

Скетч можно править и запускать в симуляторе без платы и установки среды.

Что учесть на Arduino

Частые ошибки при подключении к Arduino

Другие детали для Arduino