LCD 1602 дисплей + модуль IIC/I2C
🖥️ LCD 1602 Дисплей з I2C Модулем
16x2 символьний екран з інтерфейсом I2C для Arduino, Raspberry Pi та мікроконтролерних проєктів
Загальний опис
LCD 1602 з I2C модулем – це універсальний символьний рідкокристалічний дисплей, який здатний відображати 16 символів у 2 рядки. Завдяки вбудованому I2C адаптеру, цей дисплей потребує лише 4 проводи для підключення до Arduino чи іншого мікроконтролера, що суттєво спрощує монтаж та економить цифрові піни. Дисплей має регульовану яскравість підсвічування та контрастність, що забезпечує чудову видимість символів у будь-яких умовах освітлення. Модуль ідеально підходить для виведення інформації у проєктах Arduino, Raspberry Pi, ESP8266/32 та інших DIY розробках: від метеостанцій та годинників до систем автоматизації та робототехніки. Використовуючи спеціальні бібліотеки, ви можете виводити як латиницю, так і кирилицю, а також створювати власні символи.
✅ Технічні переваги:
- • Просте підключення через I2C інтерфейс – потрібно лише 4 дроти (VCC, GND, SDA, SCL) замість 10+ при паралельному підключенні, що економить піни мікроконтролера та спрощує монтаж навіть для початківців
- • Регульована контрастність та підсвічування – вбудований потенціометр дозволяє налаштувати оптимальну контрастність символів, а яскравість підсвічування можна програмно регулювати для економії енергії
- • Доступне програмування та широка бібліотечна підтримка – повна сумісність з бібліотеками LiquidCrystal_I2C та LCD_1602_RUS_ALL (для кирилиці), що забезпечує простий код та багаті функціональні можливості
- • Створення власних символів – можливість завантажити до 8 власних символів розміром 5x8 пікселів, що дозволяє створювати спеціальні значки, індикатори прогресу або навіть прості анімації
- • Низьке енергоспоживання – дисплей споживає мінімум енергії, особливо при зменшенні яскравості підсвічування, що робить його ідеальним для проєктів з батарейним живленням та портативних пристроїв
🔧 Ідеальне рішення для:
Arduino проєктів
Домашніх метеостанцій
Систем автоматизації
Робототехніки
Навчальних проєктів
IoT пристроїв
📦 Детальні технічні характеристики:
- Тип дисплея: Символьний рідкокристалічний (LCD)
- Розмір: 16 символів x 2 рядки
- Розмір символу: 5x8 пікселів
- Інтерфейс: I2C (IIC) з адаптером на базі чіпа PCF8574
- I2C адреси: Зазвичай 0x27 або 0x3F (визначається автоматично)
- Напруга живлення: 5В (сумісність з 3.3В залежить від моделі адаптера)
- Підключення:
- VCC: +5В
- GND: Земля
- SDA: Лінія даних I2C (Arduino UNO/Nano: A4)
- SCL: Лінія тактування I2C (Arduino UNO/Nano: A5)
- Колір підсвічування: Синє з білими символами (також доступні моделі із зелено-жовтим підсвічуванням та чорними символами)
- Регулювання контрастності: Потенціометр на I2C адаптері
- Регулювання підсвічування: Програмно через I2C команди
- Пам'ять для власних символів: 8 символів розміром 5x8 пікселів (CG RAM)
- Контролер: HD44780 (або сумісний)
- Підтримка кирилиці: За допомогою спеціальних бібліотек (LCD_1602_RUS_ALL)
- Сумісні платформи: Arduino, Raspberry Pi, ESP8266, ESP32, STM32 та інші з підтримкою I2C
- Робоча температура: -20°C до +70°C
- Розміри модуля: 80мм x 36мм x 15мм (приблизно)
📊 Приклади використання:
Визначення I2C адреси дисплея
Перед використанням дисплея рекомендується визначити його I2C адресу за допомогою скетчу сканера I2C:
#include
void setup() {
Wire.begin();
Serial.begin(9600);
Serial.println("I2C Scanner");
}
void loop() {
byte error, address;
int devices = 0;
Serial.println("Scanning...");
for(address = 1; address < 127; address++ ) {
Wire.beginTransmission(address);
error = Wire.endTransmission();
if (error == 0) {
Serial.print("I2C device found at address 0x");
if (address < 16) Serial.print("0");
Serial.println(address, HEX);
devices++;
}
}
if (devices == 0) Serial.println("No I2C devices found");
delay(5000);
}
Базовий приклад виведення тексту
Простий скетч для виведення тексту на дисплей:
#include
#include
// Ініціалізація дисплея (адреса 0x27, 16 символів, 2 рядки)
LiquidCrystal_I2C lcd(0x27, 16, 2);
void setup() {
// Ініціалізація дисплея
lcd.init();
// Увімкнення підсвічування
lcd.backlight();
// Встановлення курсора на початок першого рядка
lcd.setCursor(0, 0);
// Виведення тексту
lcd.print("Hello, World!");
// Встановлення курсора на початок другого рядка
lcd.setCursor(0, 1);
lcd.print("LCD 1602 + I2C");
}
void loop() {
// Тут можна додати динамічні оновлення дисплея
}
Виведення кирилиці
Приклад з використанням бібліотеки для кирилиці:
#include
#include
// Ініціалізація дисплея з підтримкою кирилиці
LCD_1602_RUS lcd(0x27, 16, 2);
void setup() {
// Ініціалізація дисплея
lcd.init();
// Увімкнення підсвічування
lcd.backlight();
// Виведення тексту кирилицею
lcd.setCursor(0, 0);
lcd.print("Привіт, світ!");
lcd.setCursor(0, 1);
lcd.print("Кирилиця OK");
}
void loop() {
// Нічого не робимо в основному циклі
}
LCD 1602 дисплей з I2C модулем – незамінний компонент для ваших Arduino та Raspberry Pi проєктів! Завдяки простому підключенню, широким можливостям програмування та доступній ціні, цей дисплей стане ідеальним рішенням для виведення інформації у ваших DIY розробках, від простих навчальних проєктів до серйозних IoT систем.
Відгуків про цей товар ще не було.
Немає відгуків про цей товар, станьте першим, залиште свій відгук.
Добрый день, у меня этот дисплей не работает с nano v3.
Інструкція з підключення LCD 1602 Дисплей з I2C Модулем
16x2 Символи, 5В, регульована підсвітка для Arduino, Raspberry Pi та DIY-проєктів
LCD 1602 з I2C модулем - це зручний символьний дисплей, який дозволяє відображати 2 рядки по 16 символів у кожному. Використання I2C адаптера значно спрощує підключення, зменшуючи кількість необхідних пінів до чотирьох. Ця інструкція допоможе вам правильно підключити та використовувати дисплей у ваших проєктах.
1. Необхідні компоненти
- LCD дисплей 1602 з I2C адаптером (зазвичай на базі мікросхеми PCF8574)
- Плата Arduino (Uno, Nano, Mega або інша)
- 4 з'єднувальні дроти (рекомендовано "тато-тато")
- USB-кабель для підключення Arduino до комп'ютера
- Опціонально: макетна плата (breadboard) для зручності підключення
flowchart LR
A[Arduino] --- B[4 з'єднувальні дроти]
B --- C[LCD 1602 з I2C адаптером]
A --- D[USB-кабель]
D --- E[Комп'ютер з Arduino IDE]
style A fill:#bbf,stroke:#333
style C fill:#f96,stroke:#333
style E fill:#9f9,stroke:#333
2. Підключення через I2C модуль
Головна перевага використання I2C адаптера – простота підключення та економія пінів Arduino.
Кроки підключення:
- Знайдіть 4 виводи на I2C адаптері дисплея: GND, VCC, SDA, SCL
- Підключіть їх до відповідних пінів Arduino:
- GND адаптера → GND Arduino
- VCC адаптера → 5V Arduino
- SDA адаптера → A4 Arduino (для Uno/Nano) або SDA (для Mega/Due)
- SCL адаптера → A5 Arduino (для Uno/Nano) або SCL (для Mega/Due)
flowchart LR
subgraph arduino [Arduino]
A[GND]
B[5V]
C[A4/SDA]
D[A5/SCL]
end
subgraph lcd [LCD 1602 з I2C]
E[GND]
F[VCC]
G[SDA]
H[SCL]
end
A --- E
B --- F
C --- G
D --- H
style arduino fill:#bbf,stroke:#333
style lcd fill:#f96,stroke:#333
3. Регулювання контрастності
Іноді після підключення текст може бути невидимим або занадто темним через неправильне налаштування контрастності.
- Знайдіть на платі I2C адаптера невеликий синій підлаштовувальний резистор
- За допомогою маленької викрутки обережно поверніть його за годинниковою або проти годинникової стрілки
- Регулюйте, доки символи не стануть чітко видимими на дисплеї
4. Визначення I2C адреси
Перед використанням дисплея вам потрібно знати його унікальну I2C адресу. Більшість LCD-I2C дисплеїв має адресу 0x27 або 0x3F, але для точності краще її визначити.
Кроки визначення адреси:
- Підключіть дисплей до Arduino, як описано вище
- Завантажте і встановіть бібліотеку
Wire.h(зазвичай вже встановлена) для роботи з I2C - Завантажте на Arduino скетч "I2C Scanner" (доступний в Arduino IDE: File → Examples → Wire → i2c_scanner)
- Відкрийте "Монітор порту" (Serial Monitor) в Arduino IDE (швидкість 9600 бод)
- Запишіть знайдену адресу (наприклад, "I2C device found at address 0x3F")
flowchart LR
subgraph arduino [Arduino]
A[GND]
B[5V]
C[A4/SDA]
D[A5/SCL]
end
subgraph lcd [LCD 1602 з I2C]
E[GND]
F[VCC]
G[SDA]
H[SCL]
end
A --- E
B --- F
C --- G
D --- H
style arduino fill:#bbf,stroke:#333
style lcd fill:#f96,stroke:#333
5. Програмування та налаштування
Необхідні бібліотеки
Для роботи з дисплеєм через I2C вам потрібно встановити спеціальну бібліотеку:
- Відкрийте Arduino IDE
- Виберіть "Скетч" → "Підключити бібліотеку" → "Керувати бібліотеками..."
- У пошуковому рядку введіть "LiquidCrystal I2C"
- Знайдіть та встановіть бібліотеку від Frank de Brabander
- Для підтримки кирилиці можна додатково встановити бібліотеку "LCD_1602_RUS_ALL"
Базовий приклад коду
6. Виведення кириличного тексту
Більшість дешевих LCD 1602 дисплеїв не мають вбудованої підтримки кирилиці, тому виведення українських або російських букв може потребувати спеціальної бібліотеки.
Варіанти вирішення:
- Встановлення спеціальної бібліотеки:
- Знайдіть та встановіть бібліотеку "LCD_1602_RUS_ALL" через менеджер бібліотек або завантажте з GitHub
- Використовуйте її замість стандартної LiquidCrystal_I2C
- Створення власних символів:
- Якщо потрібно лише кілька кириличних символів, можна створити їх як власні
- Використовуйте онлайн-генератори для створення масивів байтів для символів
Приклад коду з підтримкою кирилиці:
7. Створення власних символів
LCD 1602 дозволяє створити до 8 власних символів розміром 5x8 пікселів. Це корисно для відображення спеціальних значків, логотипів або символів, яких немає у стандартній таблиці.
Кроки створення власних символів:
- Скористайтесь онлайн-генератором для "малювання" символу по пікселях
- Генератор створить масив байтів, що описує символ (наприклад,
byte customChar[] = {0x0E, 0x1F, ...};) - Скопіюйте цей масив у ваш скетч
- Завантажте символ у пам'ять дисплея:
lcd.createChar(номер_символу, ім'я_масиву); - Для виведення символу використовуйте
lcd.write(номер_символу);
Приклад створення символу (сердечко):
8. Додаткові функції та можливості
Керування курсором та текстом
- Позиціонування:
lcd.setCursor(column, row);- встановлює позицію курсора - Очищення екрану:
lcd.clear();- видаляє весь текст - Видимість курсора:
lcd.cursor();- показує курсор як підкресленняlcd.noCursor();- приховує курсорlcd.blink();- миготливий курсорlcd.noBlink();- вимикає миготіння
- Керування підсвіткою:
lcd.backlight();- вмикає підсвіткуlcd.noBacklight();- вимикає підсвітку
- Прокрутка:
lcd.scrollDisplayLeft();- зсуває вміст влівоlcd.scrollDisplayRight();- зсуває вміст вправо
Виведення динамічних даних
Для виведення значень змінних використовуйте функцію lcd.print(змінна);. Проте, при роботі з числами, іноді потрібна додаткова обробка:
Створення біжучого рядка
9. Діагностика та усунення проблем
| Проблема | Можлива причина | Вирішення |
|---|---|---|
| Дисплей не вмикається | Неправильне підключення або проблема живлення | Перевірте з'єднання GND та VCC, переконайтеся, що Arduino отримує живлення |
| Дисплей вмикається, але не показує текст | Неправильно налаштована контрастність | Повертайте підлаштовувальний резистор на I2C адаптері |
| Підсвітка працює, але на дисплеї чорні квадрати | Проблема з підключенням I2C або неправильна адреса | Перевірте підключення SDA та SCL, визначте правильну I2C адресу |
| Замість кирилиці відображаються "зюки" | Відсутня підтримка кириличної кодової сторінки | Використовуйте спеціальну бібліотеку з підтримкою кирилиці |
| Помилка "No such device" при скануванні I2C | Проблема з підключенням або несправний I2C адаптер | Перевірте проводку, спробуйте інший I2C адаптер |
flowchart TB
A[Проблема з дисплеєм] --> B{Підсвітка працює?}
B -->|Так| C{Видно текст?}
B -->|Ні| D[Перевірити живлення]
C -->|Так, але некоректний| E[Перевірити I2C адресу]
C -->|Ні| F[Налаштувати контрастність]
E --> G{Кирилиця не працює?}
G -->|Так| H[Встановити бібліотеку з підтримкою кирилиці]
style A fill:#f96,stroke:#333
style B fill:#ff9,stroke:#333
style G fill:#ff9,stroke:#333
FAQ (часті запитання)
-
Чому мій LCD не відображає тексту, навіть коли підсвітка працює?
-
Як знайти I2C адресу мого LCD модуля?
-
Чи можна використовувати цей LCD модуль з 3.3V мікроконтролером?
-
Як налаштувати контраст дисплея?
-
У мене кілька I2C пристроїв. Як уникнути конфліктів адрес із LCD модулем?
-
Чи можна відображати власні символи на цьому LCD?
-
Чи є спосіб керувати яскравістю підсвітки через програмне забезпечення?