LCD1602 + I²C PCF8574

LCD1602 HD44780-совместимый + адаптер PCF8574/PCF8574A, 5 В

Двухстрочный символьный экран для приборов, меню и показаний.

Автор: SLDV LAB

Опубликовано · Обновлено

СложностьЛегко
Проекты с компонентом

О МОДУЛЕ

Что делает LCD1602 HD44780-совместимый + адаптер PCF8574/PCF8574A, 5 В

LCD1602 выводит две строки символов, а припаянный I²C-адаптер PCF8574 заменяет несколько параллельных линий двумя сигнальными проводами. Такой экран подходит для простых меню и числовых показаний, когда графика не требуется.

Название обозначает семейство сборок, а не единую плату. Здесь выбран 5-вольтовый HD44780-совместимый экран с PCF8574/PCF8574A, выводами VCC/GND/SDA/SCL и регулировкой контраста. Например, Joy-IT SBC-LCD16x2 использует PCF8574AT. Адрес и соединения расширителя с LCD различаются; библиотека hd44780 определяет их автоматически. Кириллица зависит от знакогенератора дисплея и не появляется от простой передачи UTF-8.

Joy-IT SBC-LCD16x2: LCD1602 с I²C-адаптером PCF8574AT, показаны лицевая и обратная стороны. Подключение в примере: Arduino UNO R3, питание и логика5В.

Источник фотографии: https://www.joy-it.net/en/products/SBC-LCD16x2 . Оригиналы: https://www.joy-it.net/files/files/Produkte/SBC-LCD16x2/SBC-LCD16x2%20(3).png ; https://www.joy-it.net/files/files/Produkte/SBC-LCD16x2/SBC-LCD16x2%20(1).png . Исходная прозрачность изображений Joy-IT сохранена; выполнены только кадрирование внешних прозрачных полей, равномерное масштабирование и размещение на фоне. Схема соединений SLDV LAB составлена по первичной документации: https://www.joy-it.net/files/files/Produkte/SBC-LCD16x2/SBC-LCD16x2_Manual_2024-03-13.pdf . Разрешение на повторное использование фотографии не установлено; открытая лицензия не заявляется.

Характеристики

Символов в строке
16
Строк
2
LCD-контроллер
HD44780-совместимый
I²C-расширитель
PCF8574 или PCF8574A; проверить маркировку
Диапазон адресов
PCF8574: 0x20–0x27; PCF8574A: 0x38–0x3F
Интерфейс
I²C
Питание модуля
В примере выбрана сборка LCD1602 на 5 В с PCF8574 и Arduino UNO R3 с 5-В логикой; к ESP32/Raspberry Pi нельзя напрямую подключать I²C с подтяжками к 5 В.

ПРАКТИКА

Подключение

Контакт модуляКонтакт платыНазначение
VCC5VТолько выбранная 5-вольтовая сборка; сначала проверить маркировку
GNDGNDОбщая земля
SDAA4 / SDAArduino UNO R3 (ATmega328P), 5 В
SCLA5 / SCLArduino UNO R3 (ATmega328P), 5 В

Подходит для Arduino. Выберите контакты по документации своей платы.

ВАШ ПРОЕКТ · ВАШ ДАТЧИК

Интегрируйте модуль с ChatGPT

Скопируйте запрос в ChatGPT. Укажите свою плату и среду разработки — получите подключение и код для своего проекта.

Помоги интегрировать LCD1602 с PCF8574. Сначала уточни плату, среду, питание, маркировку PCF8574/PCF8574A и распиновку адаптера. Не принимай 0x27 за обязательный адрес. Используй hd44780_I2Cexp или явно проверь другую библиотеку и её API. Подготовь безопасное подключение, полный пример с проверкой begin(), настройку контраста и диагностику I2CexpDiag. Для 3,3-В контроллера проверь подтяжки шины и необходимость двунаправленного преобразователя уровней.

Библиотеки

Установите библиотеку для своей среды и откройте пример из её документации.

Что именно прописать

Библиотека
hd44780 1.3.2

Library Manager: Extensible hd44780. У библиотеки GPL-3.0; учесть лицензию при распространении проекта.

Заголовок
#include <hd44780ioClass/hd44780_I2Cexp.h>

Также нужны Wire.h и hd44780.h.

Автоопределение
hd44780_I2Cexp lcd;

Определяет адрес и типовую разводку адаптера; при диагностике оставьте на шине один LCD.

Геометрия
lcd.begin(16, 2)

Нулевой код возврата означает успешную инициализацию.

Arduino UNO R3: время работы на LCD1602

cpp
#include <Wire.h>
#include <hd44780.h>
#include <hd44780ioClass/hd44780_I2Cexp.h>
hd44780_I2Cexp lcd;

void setup() {
  Serial.begin(115200);
  int status = lcd.begin(16, 2);
  if (status != 0) {
    Serial.print(F("LCD init error: "));
    Serial.println(status);
    Serial.println(F("Run hd44780 I2CexpDiag"));
    while (true) { delay(1000); }
  }
  lcd.print(F("SLDV LAB"));
}
void loop() {
  lcd.setCursor(0, 1);
  lcd.print(F("                "));
  lcd.setCursor(0, 1);
  lcd.print(millis() / 1000UL);
  lcd.print(F(" seconds"));
  delay(1000);
}

Полный скетч для Arduino UNO R3, Arduino AVR Boards 1.8.6, hd44780 1.3.2. API сверено с официальным примером HelloWorld; аппаратный тест не выполнялся. Если подсветка горит, но текста нет, плавно настройте потенциометр контраста. При ошибке запустите File → Examples → hd44780 → ioClass → hd44780_I2Cexp → I2CexpDiag. Не смешивайте API разных библиотек LiquidCrystal_I2C.

Проекты с этим компонентом

Все проекты

Связанные проекты пока не опубликованы.

Связанные материалы и компоненты