ЖК-дисплей LCD 1602: подключение к Arduino через I2C-модуль

В это статье мы рассмотрим способы подключения жидкокристаллического дисплея LCD 1602 (чип HD44780) к Arduino. Вообще говоря, LCD 0802 подключается аналогично.
Дисплей LCD 1602 наиболее ходовой из ЖК-дисплеев для ардуины, поскольку прост в подключении и программировании, и стоит недорого. Дисплей позволяет выводить на экран 2 строки по 16 символов в каждой, чего в принципе достаточно для простых приложений типа вывести текущее время и дату.
Сразу скажу, что проще всего этот дисплей будет подключать через IIC/I2C-модуль, что позволяет сильно сократить число проводов до четырех , два из которых — это питание. Стоит этот дополнительный модуль меньше стоимости дисплея. Собственно комплект дисплей + IIC/I2C-модуль, если брать на Али, обойдется меньше, чем в 2$ .

Так что нет смысла покупать их по отдельности.
В общем два основных способа подключения — это напрямую и через I2C-модуль. Давайте сначала рассмотрим способ через I2C-модуль, т.к. он наиболее практический.
Вариант 1. Подключение LCD 1602 к Ардуине через I2C-модуль
Схема подключения показана на рисунке:

т.е. провода соединяются следующим образом:
I2C-модуль, Arduino --------------------- SCL - A5 SDA - A4 VCC - +5V GND - GND
SCL — последовательная линия тактирования (Serial CLock);
SDA — последовательная линия данных (Serial Data);
VCC — «+» питания;
GND — «-» питания.
Для работы с дисплеем при таком подключении (т.е. через модуль I2C) можно использовать стандартную библиотеку LiquidCrystal_I2C1602V1 — её нужно распаковать в папку arduino/libraries , если её там нет (хотя обычно уже есть).
А вот базовый пример программы для вывода информации на дисплей.
#include < Wire.h > #include < LiquidCrystal_I2C.h > LiquidCrystal_I2C lcd(0x27,16,2); /* или 0x3F. */ void setup() < lcd.init(); // Инициализация lcd.backlight(); // Включаем подсветку lcd.print("Hello, world!"); // Выводим текст lcd.setCursor(0, 1); // Курсор в начало 2-ой строки lcd.print("Hello!"); // Выводим текст >void loop() // цикл
Здесь использовался адрес 0x27 шины I2C. У некоторых модулей этот адрес может быть 0x3F. Это возможно определить по маркировке. Вообще говоря, этот адрес можно менять (с помощью паяльника) — такой нехитрый метод позволят в теории подключить более одного дисплея к одной ардуине.
Вариант 2. Прямое подключение LCD 1602 непосредственно к Ардуине
Схема подключения показана на рисунке

В этом случае используется другая библиотека — LiquidCrystal.
#include < LiquidCrystal.h > LiquidCrystal lcd(12, 11, 5, 4, 3, 2); void setup() < lcd.begin(16, 2); lcd.print("hello, world!"); lcd.setCursor(0,1); lcd.print("123"); >void loop()
Платы ARDUINO по низкой цене
Нажми на изображение, чтобы заказать в интернет-магазине:
Now 05.02.24 5:44:08, Your IP: 45.82.33.202; arduino.zl3p.com/modules/lcd1602
ePN
Урок 4. Подключение LCD1602 по I2C к Ардуино
К сожалению стандартная схема подключения расмотренная в предыдущих уроках не всегда удобна, так как занимает как минимум 6 цифровых выходов на арудине.

В этом уроке мы рассмотрим способ как это можно обойти и использовать только два аналоговых выхода.
Нам понадобится дополнительный модуль 1602 LCD конвертор в IIC/I2C. Он припаивается к нашему дисплею как видно на фото ниже.

И подключается к ардуине следующим образом
| Arduino Mega | Arduino Uno | LCD i2c | Цвет проводов на фото |
| GND | GND | GND | Черный |
| 5V | 5V | VCC | Красный |
| 20 (SDA) | A4 | SDA | Коричневый |
| 21(SCL) | A5 | SCL | Белый |

Этот способ подключения работает только со специально библиотекой, скачать библиотеку можно по ссылке (LiquidCrystal_I2C1602V1 Библиотека). Установите данную библиотеку.
Код программы:
#include #include LiquidCrystal_I2C lcd(0x27,16,2); // Устанавливаем дисплей void setup() < lcd.init(); lcd.backlight();// Включаем подсветку дисплея lcd.print("iarduino.ru"); lcd.setCursor(8, 1); lcd.print("LCD 1602"); >void loop() < // Устанавливаем курсор на вторую строку и нулевой символ. lcd.setCursor(0, 1); // Выводим на экран количество секунд с момента запуска ардуины lcd.print(millis()/1000); >
Видео:
LCD 1602 I2C дисплей подключение к Arduino
Классические LCD-дисплеи имеют широкое применение в кассовых аппаратах, офисной технике и многих других устройствах. В этой статье мы рассмотрим их характеристики, виды и особенности использования.
Размеры и типы LCD-дисплеев
LCD-дисплеи могут быть разных размеров. Самый популярный вариант – это LCD 1602 (с 16 столбцами и 2 строками). Встречаются также другие размеры: 2004, 0802 и др. Здесь мы сосредоточимся на дисплее 1602.

Цвет фона и букв
Существуют различные комбинации цветов фона и букв на дисплеях. Пример сочетаний:
- Синий фон и белые буквы
- Голубой фон и черные буквы
- Зеленый фон и чёрные буквы
- Оранжевый фон и черные буквы
- Чёрный фон и белые буквы
В данной статье мы будем рассматривать дисплей с темно-синим фоном и белыми буквами.
Светодиодная подсветка
Дисплеи часто имеют отключаемую светодиодную подсветку, что улучшает видимость и комфорт чтения информации с экрана.
Подключение и переходник
Сам по себе классический LCD-дисплей требует для подключения к микроконтроллеру Ардуино минимум 8 цифровых пинов. Однако существует переходник на шину I2C на базе PCF8574, производимый китайскими компаниями. Он значительно упрощает подключение и экономит пины. В данном случае рассматривается дисплей с припаянным переходником.

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

Адресация интерфейса
Переходник может иметь разный адрес для указания в коде: 0х27 или 0x3F. Адрес формируется перемычками обозначенными на плате A0, A1,A2. Это необходимо учитывать при программировании и использовании дисплея.

Код для Ардуино
Скачайте и установите библиотеку LiquidCrystal, выберите пример «demo». Если все подключено без ошибок, то дисплей сразу начнет демонстрировать свои возможности. Для русификации шрифтов дисплея, Вам потребуется библиотека LCD 1602 RUS.
Заключение
Классические LCD-дисплеи являются универсальным и доступным решением для отображения информации на различных устройствах. Учитывая разнообразие цветов и возможность подключения через различные переходники, эти дисплеи остаются по сей день популярными и актуальными на рынке.
Подключение к Аrduino дисплея LCD 1602 i2c

Рассмотрим, как подключить модуль дисплея LCD 1602 к плате Arduino и рассмотрим основные команды инициализации и управления жидкокристаллическим дисплеем. Разберем основные функции библиотеки LiquidCrystal_I2C.h для вывода текстовой информации на экран, которые вы можете использовать в своих различных проектах, так как этот модуль позволяет визуально отображать данные от датчиков и сенсоров.
Необходимые компоненты:
- Arduino Uno / Arduino Nano / Arduino Mega
- экран lcd 1602 arduino
- экран lcd 1602 с i2c модулем
- коннекторы
- библиотека LiquidCrystal_I2C.h
- Игра на Ардуино «Dino T-Rex» с дисплеем 1602
- Тестер батареек на Ардуино с LCD дисплеем
- Таймер на LCD дисплее с обратным отсчётом
Текстовый дисплей используется для отображения информации с датчиков, создания меню или подсказок. На экране lcd 1602 отображаются черные символы размером 5×8 пикселей. Встроенная подсветка включается при подаче питания на контакты модуля. Текстовый дисплей без модуля i2c подключается к микроконтроллеру Ардуино через 8 контактов. Пример подключения lcd с i2c модулем показан на изображении ниже.
LCD 1602 i2c Arduino распиновка, характеристики

Характеристики LCD 1602 i2c (datasheet)
- Напряжение питания: 5 В
- Количество строк: 2
- Количество символов в строке: 16
- Общее количество символов: 32
- Диапазон рабочих температур: 0 — +60º C
По умолчанию жк дисплей с модулем I2C имеет адрес «0x27«. Если необходимо подключить к микроконтроллеру более одного дисплея 1602, необходимо изменить адреса устройств. Если вы перевернете дисплей и посмотрите на модуль IIC, вы увидите контакты, обозначенные «A0», «A1» и «A2». Если по умолчанию модуль имеет адрес «0x27» на шине IIC Arduino, то замыкание перемычки «A0» изменит адрес устройства на «0x26«.
Как подключить LCD 1602 к Ардуино по i2c

| LCD 1602 i2c | Arduino Uno | Arduino Nano | Arduino Mega |
| GND | GND | GND | GND |
| VCC | 5V | 5V | 5V |
| SDA | A4 | A4 | 20 |
| SCL | A5 | A5 | 21 |
ЖК дисплей 1602 i2c подключается к плате Ардуино всего 4 проводами — 2 провода для обмена данными и 2 провода питания. Подключение дисплея QAPASS 1602a к Arduino осуществляется стандартным для шины i2c способом: вывод SDA подключается к порту A4 (SDA), вывод SCL — к порту A5 (SCL). Питание дисплея осуществляется от 5 Вольт. Подробная схема подключения дисплея 1602 приведена на изображении выше.
Скетч для дисплея LCD 1602 i2c Arduino
#include «Wire.h» #include «LiquidCrystal_I2C.h» LiquidCrystal_I2C LCD(0x27,16,2); void setup() < LCD.init(); LCD.backlight(); LCD.setCursor(1, 0); LCD.print("HELLO"); LCD.setCursor(8, 1); LCD.print("WORLD"); >void loop()
Как подключить два экрана LCD 1602 iic к Ардуино

Перед загрузкой следующей программы сначала соберите схему с двумя ЖК дисплеями 1602a и просканируйте шину i2c Arduino Uno. Это гарантирует, что микроконтроллер «увидит» оба устройства на шине. Также проверьте правильность адресов. После этого вы можете загрузить следующую программу, которая позволит вам управлять сразу двумя жк дисплеями с помощью модулей i2c от микроконтроллера Arduino.
Скетч для двух дисплеев LCD 1602 iic Arduino
#include «Wire.h» #include «LiquidCrystal_I2C.h» LiquidCrystal_I2C LCD1(0x27, 16, 2); LiquidCrystal_I2C LCD2(0x26, 16, 2); void setup() < LCD1.init(); LCD2.init(); LCD1.backlight(); LCD2.backlight(); >void loop()
Как подключить display LCD 1602 без модуля iic

Жидкокристаллический дисплей имеет два ряда по 16 символов, отсюда и название LCD 1602. Память устройства содержит 192 символа, при этом 8 дополнительных символов могут быть заданы пользователем. Если вы подключите дисплей без модуля IIC, вам потребуется использовать 6 портов общего назначения на плате, не считая портов питания. Соберите схему, как на картинке выше и загрузите в плату следующую программу.
Скетч display LCD 1602 Arduino без модуля iic
#include «LiquidCrystal.h» LiquidCrystal LCD(13, 12, 11, 10, 9, 8); void setup() < LCD.begin(16, 2); LCD.setCursor(1, 0); LCD.print("HELLO"); LCD.setCursor(8, 1); LCD.print("WORLD"); >void loop()
Заключение. В простой схеме подключения устройств по протоколу I²C может быть несколько ведомых устройств и одно ведущее устройство, которое инициирует передачу данных и синхронизирует сигнал. Используя примеры программ для платы Ардуино и жк экрана лсд 1602, представленные в этой статье, и схему подключения lcd 1602 к Arduino по i2c, вы сможете использовать этот модуль в своих будущих проектах на Arduino.
FAQ (часто задаваемые вопросы)
Какая используется библиотека для дисплея LCD 1602 i2c ?
Для управления LCD 1602 QAPASS от Ардуино используется библиотека LiquidCrystal_I2C.h, ссылка на скачивание архива размещена в начале статьи.
Что означает fatal error LiquidCrystal_I2C.h No such file or directory ?
Если при компиляции скетча появляется ошибка «LiquidCrystal_I2C.h No such file or directory», то это значит, что отсутствует библиотека LiquidCrystal_I2C.h. Следует скачать и установить библиотеку для дисплея LCD 1602, которая используется в программе.
Почему не работает дисплей LCD 1602 i2c Arduino ?
Во-первых, проверьте подключение lcd tft экрана к микроконтроллеру. Проверьте питание дисплея — 5V и GND, проверьте не перепутаны ли пины SDA и SCL. Во-вторых, на обратной стороне дисплея расположен переменный резистор для регулировки яркости — попробуйте покрутить его для настройки экрана LCD 1602 i2c QAPASS.