Подключение LCD 1602 I2C к Arduino: настройка, русификация и пользовательские символы
LCD 1602 I2C на Arduino — популярный жидкокристаллический дисплей для вывода текста, данных датчиков, меню. 16 символов, 2 строки, подсветка. Подключение по I2C (4 провода) экономит пины. Библиотека LiquidCrystal_I2C. Русификация пользовательскими символами (до 8). Создание анимации, бегущих строк. Тест сканером I2C для адреса (0x27/0x3F). Совместимо с 2004 (20×4). Проект для индикации температуры, времени, статуса RFID или погоды.
Характеристики LCD 1602
16 символов x 2 строки. Питание 5В, ток 1.5 мА. Подсветка LED (синяя/зелёная). Контраст потенциометром. I2C адаптер PCF8574. Адрес 0x27/0x3F. Размеры 80×36 мм.
Подключение LCD 1602 I2C
- VCC → 5V Arduino
- GND → GND
- SDA → A4 (Uno) или D2 (ESP)
- SCL → A5 (Uno) или D1 (ESP)
Потенциометр на модуле для контраста.
Сканер I2C для адреса
Пример I2C Scanner — выводит адрес в Serial. Обычно 0x27 или 0x3F.
Библиотека LiquidCrystal_I2C
Установка из Менеджера библиотек. lcd(адрес,16,2).
Тест Hello World
lcd.init(); lcd.backlight(); lcd.print(«Привет!»);
Русификация LCD 1602
Стандартно — кракозябры. LiquidCrystal_I2C_RUS или пользовательские символы (8 шт.). Таблица знакогенератора: латиница + японский/русский варианты. Русификатор заменяет font.
Пользовательские символы
byte symbol[8] = {B00100,…}; lcd.createChar(1,symbol); lcd.write(1); Анимация: последовательная смена символов delay.
Функции библиотеки
cursor()/noCursor(), blink()/noBlink(), leftToRight()/rightToLeft(), scrollDisplayLeft/Right(), display()/noDisplay(). Бегущая строка scroll.
Скетч Hello World + русский
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2);
void setup() {
lcd.init(); lcd.backlight();
lcd.print("Привет мир!");
lcd.setCursor(0,1);
lcd.print("Русский текст");
}
void loop() {}
включает подсветку.
выводит «Привет мир!» на первой строке и «Русский текст» на второй.
Анимация батареи
4 символа заряда, смена в loop delay(500).
Расширение
Меню кнопками. Интеграция DHT, RTC, RFID. 2004 для большего текста. OLED альтернатива для графики.
Заключение
LCD 1602 I2C — простой дисплей для Arduino. Подключение, русификация, символы. Вывод текста, анимации, данных датчиков.
FAQ — LCD 1602 I2C Arduino
Экран пустой?
Поворот потенциометра контраста. lcd.backlight(). Правильный адрес I2C (сканер).
Кракозябры русский текст?
Установите LiquidCrystal_I2C_RUS или создайте 8 пользовательских символов для часто используемых букв.
Адрес не 0x27?
I2C scanner пример — выводит реальный адрес (0x3F часто).
Больше 8 русских символов?
Перезаписывайте символы в loop по мере нужды. Или OLED/Nextion для полной кириллицы.
Бегущая строка?
lcd.scrollDisplayLeft() в loop с delay. rightToLeft для направления.
ESP8266 подключение?
SDA D2, SCL D1. Библиотека та же.
Анимация символов?
createChar(1-8) разные кадры, write() смена + delay.