Как подключить LCD1602 по I2C к Arduino

Четыре провода, адрес 0x27 или 0x3F и контраст.

Схема подключения

Открыть в конструкторе

Соединения

ШагОткудаКудаЦвет
1Arduino Uno GNDLCD1602 I2C GNDчёрный
2Arduino Uno 5VLCD1602 I2C VCCкрасный
3Arduino Uno A4LCD1602 I2C SDAI2C, зелёный
4Arduino Uno A5LCD1602 I2C SCLI2C, зелёный

Детали

Проверка питания и проводов

  • Проверка схемы, та же, что в конструкторе, не нашла ошибок: напряжения выводов совпадают, земля общая, шины подключены целиком.
  • LCD1602 I2C берёт до 40 мА (обычно около 30) с вывода 5V Arduino Uno, вывод даёт около 400 мА: USB даёт 500 мА, часть берёт сама плата.

Ток всей схемы и сколько она проработает от аккумулятора: расчёт питания. Где что втыкать: схема на макетке.

Пример кода

Arduino IDE, LiquidCrystal_I2C (Frank de Brabander) 1.1.2.

#include <Wire.h>
#include <LiquidCrystal_I2C.h>

// 0x27 у переходника на PCF8574T, 0x3F у PCF8574AT
LiquidCrystal_I2C lcd(0x27, 16, 2);

void setup() {
  lcd.init();
  lcd.backlight();
  lcd.setCursor(0, 0);
  lcd.print("Hello, olerast");
}

void loop() {
  lcd.setCursor(0, 1);
  lcd.print(millis() / 1000);
}

Распиновки деталей

Как подключено

Переходник на PCF8574 превращает 16 выводов LCD1602 в четыре: GND, VCC, SDA и SCL. У Arduino Uno шина I2C на A4 (SDA) и A5 (SCL), те же линии выведены на пины SDA и SCL рядом с AREF. Питание 5 В: на 3,3 В символы почти не видны.

На переходнике стоят подтяжки 4,7 кОм к VCC, поэтому резисторы на SDA и SCL не нужны. Подсветка берёт 20-30 мА, весь модуль до 40 мА, вывод 5V Uno при питании от USB даёт около 400 мА.

Частые ошибки

  • После загрузки скетча экран светится, а текста нет. Покрутите синий подстроечный резистор на переходнике: это контраст, с завода он часто выкручен в край.
  • В скетче адрес 0x27, а на переходнике PCF8574AT с адресом 0x3F. Экран молчит без ошибок. Адрес покажет тестер платы или таблица I2C-адресов.

Частые вопросы

Можно ли подключить LCD1602 I2C к ESP32?
Можно, но подтяжки переходника тянут SDA и SCL к 5 В, а пины ESP32 рассчитаны на 3,3 В. Поставьте преобразователь уровней или выпаяйте подтяжки и поставьте 4,7 кОм к 3,3 В. Конструктор отмечает такую схему ошибкой.
Почему на экране одни прямоугольники?
Прямоугольники в верхней строке означают, что экран включён, но не получил команд. Проверьте адрес в скетче, провода SDA и SCL и вызов lcd.init() в setup.

Пригодится ещё