Общие сведения
Символьный дисплей LCD1602— жидкокристаллический дисплей (Liquid Crystal Display) экран которого способен отображать одновременно до 32 символов (16 столбцов, 02 строки). Подключение к Arduino осуществляется по синхронному 8-битному параллельному интерфейсу.
Характеристики
- Тип выводимой информации: символьный.
- Язык в ПЗУ дисплея: латиница, японский.
- Возможность загрузки собственных символов: есть.
- Формат выводимой информации: 16×02 символов;
- Тип дисплея: LCD.
- Технология дисплея: STN.
- Угол обзора: 180°.
- Тип подсветки: LED.
- Контроллер: HD44780.
- Интерфейс: синхронный, 8-битный, параллельный.
- Напряжение питания 5 В.
- Рабочая температура: -20 ... +70 °С.
- Температура хранения -30 ... +80 °С.
- Габариты: 80x36 мм.
Подключение
Подключение дисплея LCD1602 по параллельному интерфейсу немного сложнее чем через конвертер по шине I2C, а также требуется дополнительный элемент - потенциометр для регулировки контрастности.
Шина данных дисплея состоит из 8 линий (D0-D7), но если подключить только старшие 4 линии (D4-D7), как это показано на рисунке, это не снижает скорость работы дисплея. Вы можете подключать выводы D0-D7, E и RS дисплея, к любым выводам микроконтроллера, указав их в скетче при объявлении объекта библиотеки.
LCD1602_I2C
Если к выводам дисплея подключить конвертер, то можно преобразовать его синхронный 8-битный параллельный интерфейс в шину I2C (превратив дисплей из LCD1602 в LCD1602_I2C для облегчения подключения дисплея к микроконтроллеру, т.к. шина I2C использует всего 2 вывода для передачи данных и 2 вывода питания.
Подключение в Arduino IDE
Для работы дисплея используется встроенная в среду Arduino IDE библиотека LiquidCrystal.h. Если вы подключаете дисплей по i2c протоколу, то лучше используйте библиотеку LiquidCrystal_I2C.h.
Основные функции библиотеки
- home() и clear() – первая функция позволяет вернуть курсор в начало экрана, вторая тоже, но при этом удаляет все, что было на мониторе до этого.
- write(ch) – позволяет вывести одиночный символ ch на экран.
- cursor() и noCursor() – показывает/скрывает курсор на экране.
- blink() и noBlink() – курсор мигает/не мигает (если до этого было включено его отображение).
- display() и noDisplay() – позволяет подключить/отключить дисплей.
- scrollDisplayLeft() и scrollDisplayRight() – прокручивает экран на один знак влево/вправо.
- autoscroll() и noAutoscroll() – позволяет включить/выключить режим автопрокручивания. В этом режиме каждый новый символ записывается в одном и том же месте, вытесняя ранее написанное на экране.
- leftToRight() и rightToLeft() – Установка направление выводимого текста – слева направо или справа налево.
- createChar(ch, bitmap) – создает символ с кодом ch (0 – 7), используя массив битовых масок bitmap для создания черных и белых точек.
Проблемы подключения I2C дисплеев
Если после загрузки скетча у вас не появилось никакой надписи на дисплее, попробуйте выполнить следующие действия.
Во-первых, можно увеличить или уменьшить контрастность монитора. Часто символы просто не видны из-за режима контрастности и подсветки.
Если это не помогло, то проверьте правильность подключения контактов, подключено ли питание подсветки. Если вы использовали отдельный i2c переходник, то проверьте еще раз качество пайки контактов.
Другой часто встречающейся причиной отсутствия текста на экране может стать неправильный i2c адрес. Попробуйте сперва поменять в скетче адрес устройства с 0x27 0x20 или на 0x3F. У разных производителей могут быть зашиты разные адреса по умолчанию. Если и это не помогло, можете запустить скетч i2c сканера, который просматривает все подключенные устройства и определяет их адрес методом перебора. Сам скетч можно скачать по ссылке
Этот и другие проекты на сайте https://projectalt.ru