Сейчас ваша корзина пуста!

Руководство по работе с LCD-дисплеями с I2C модулем
Подключение к Arduino Nano R3
Необходимые контакты:
- SDA (данные) подключается к пину A4 Arduino
- SCL (тактовый сигнал) подключается к пину A5 Arduino
- VCC (питание) подключается к 5V Arduino
- GND (земля) подключается к GND Arduino
Обратите внимание у разных моделей Arduino пины подключения могут отличаться.
Необходимые библиотеки
Для работы с дисплеями потребуются следующие библиотеки:
#include // Библиотека для работы с I2C
#include // Основная библиотека для LCD
Базовые настройки дисплея
Инициализация дисплея:
// Инициализация для LCD1602
LiquidCrystal_I2C lcd(0x27, 16, 2);
// Или для LCD2004
LiquidCrystal_I2C lcd(0x27, 20, 4);
void setup() {
lcd.init(); // Инициализация дисплея
lcd.backlight(); // Включение подсветки
lcd.setCursor(0, 0); // Установка курсора
lcd.print("Привет, мир!");
}
0x27 — это адрес устройства на шине I2C. 0x27 — стандартный адрес для дисплеев. Он может отличаться, для проверки адреса есть скетчи-сканеры. Код такого сканера можно посмотреть тут.
Основные команды управления
Работа с текстом:
lcd.print("Текст");
// вывод текста
lcd.setCursor(x, y);
// установка позиции курсора (x — колонка, y — строка)
lcd.clear();
// очистка дисплея
lcd.noDisplay();
// отключение отображения
lcd.display();
// включение отображения
Примеры использования
Простой пример вывода информации на LCD1602:
Вот так выглядит схема подключения:

Регулятор на обратной стороне платы модуля I2C — настройка контрастности. При первом подключении подстройте контрастность экрана так, чтобы символы на экране хорошо читались.
Скетч:
#include <LiquidCrystal_I2C.h>
// Подключаем библиотеку для работы с LCD дисплеем по шине I2C
LiquidCrystal_I2C lcd(0x27,16,2);
// Объявляем объект библиотеки, указывая параметры дисплея
// (адрес I2C = 0x27, количество столбцов = 16, количество строк = 2)
void setup() {
lcd.init();
// Инициируем работу с LCD дисплеем
lcd.backlight();
// Включаем подсветку LCD дисплея
lcd.setCursor(0, 0);
// Устанавливаем курсор в позицию (0 столбец, 0 строка)
lcd.print("LCD | TSH E.Shop");
// Выводим текст "LCD | TSH E.Shop"
lcd.setCursor(0, 1);
lcd.print("SKU 2470466804");
}
void loop() {
}
Давайте разберем этот код подробно:
- Подключение библиотеки и инициализация:
#include <LiquidCrystal_I2C.h>— подключает библиотеку для работы с LCD дисплеемLiquidCrystal_I2C lcd(0x27,16,2)— создает объект дисплея с параметрами:- Адрес I2C модуля: 0x27
- 16 символов в строке
- 2 строки дисплея
- Функция setup():
lcd.init()— инициализирует дисплейlcd.backlight()— включает подсветкуlcd.setCursor(0, 0)— устанавливает курсор в начало первой строкиlcd.print()— выводит текст на дисплей- Вторая строка выводится аналогично
Важные замечания:
- Дисплей имеет размер 16×2 символов
- Адрес I2C модуля должен соответствовать реальному подключению
- В функции loop() код отсутствует, так как вся логика отображения выполняется один раз при старте
- Можно модифицировать текст и расположение для отображения другой информации
- При необходимости можно добавить динамическое обновление информации в loop()
Простой пример вывода информации на LCD2004:
#include <LiquidCrystal_I2C.h>
// Подключаем библиотеку для работы с LCD дисплеем по шине I2C
LiquidCrystal_I2C lcd(0x27,20,4);
// Объявляем объект библиотеки, указывая параметры дисплея
// (адрес I2C = 0x27, количество столбцов = 20, количество строк = 4)
void setup() {
lcd.init();
// Инициируем работу с LCD дисплеем
lcd.backlight();
// Включаем подсветку LCD дисплея
lcd.setCursor(0, 0);
// Устанавливаем курсор в позицию (0 столбец, 0 строка)
lcd.print("LCD 2004");
// Выводим текст "LCD 2004"
lcd.setCursor(0, 1);
lcd.print("TSH Electronic shop");
lcd.setCursor(0, 2);
lcd.print("SKU 2470466781");
lcd.setCursor(0, 3);
lcd.print("Creative success!");
}
void loop() {
}
Пример с форматированием:
void setup() {
lcd.init();
lcd.backlight();
lcd.setCursor(0, 0);
lcd.print("Дата:");
lcd.setCursor(6, 0);
lcd.print("12.05.2025");
lcd.setCursor(0, 1);
lcd.print("Время:");
lcd.setCursor(6, 1);
lcd.print("14:30");
}
Дополнительные возможности
Управление контрастностью:
lcd.init();
lcd.setBacklight(255);
// Регулировка яркости (0-255)
Автоматическое обновление экрана:
void loop() {
static unsigned long previousMillis = 0;
const long interval = 1000;
if(millis() - previousMillis > interval) {
previousMillis = millis();
lcd.clear();
lcd.print("Новые данные");
}
}
Типичные проблемы и решения
- Дисплей не отображается: проверьте правильность подключения и адрес I2C (0x27 или 0x3F)
- Неверный адрес: используйте сканер I2C для определения правильного адреса
- Проблемы с контрастностью: отрегулируйте потенциометр на модуле
- Нестабильная работа: проверьте качество подключения питания

Добавить комментарий