Подключение LCD 1602 к Arduino

Подключение LCD 1602 к Arduino

Ардуино MEGA
Дисплей  LCD 1602 (HD44780)
Резистор 5 кОм

LCD дисплеи размерности 1602, на базе контроллера HD44780, являются одними из самых простых, доступных и востребованных дисплеев для разработки различных электронных устройств. Его можно встретить как и в устройствах собранных домашних условиях, так и в промышленных устройствах, таких, как например, автоматы для приготовления кофе.
В данной статье мы расскажем как его подключить к Arduino и вывести информацию.

lcd1602_connection_to_arduino Данные дисплеи имеют два исполнения: желтая подсветка с черными буквами либо, что встречается чаще, синюю подсветку с белыми буквами.

Размерность дисплеев на контроллере HD44780 может быть различной, управляться они будут одинаково. Самые распространенные размерности 16×02 (т.е. по 16 символов в двух строках) либо 20×04. Разрешение же самих символов – 5×8 точек.

Большинство дисплеев не имеют поддержку кириллицы, имеют её лишь дисплеи с маркировкой CTK. Но данную проблему можно попытаться частично решить (продолжение в статье).

Выводы дисплея:

На дисплее имеется 16pin разъем для подключения. Выводы промаркированы на тыльной стороне платы.

1 (VSS) – Питание контроллера (-)
2 (VDD) – Питание контроллера (+)
3 (VO) – Вывод управления контрастом
4 (RS) – Выбор регистра
5 (R/W) – Чтение/запись ( режим записи при соединении с землей)
6 (E) – Еnable (строб по спаду)
7-10 (DB0-DB3) – Младшие биты 8-битного интерфейса
11-14 (DB4-DB7) – Старшие биты интерфейса
15 (A) – Анод (+) питания подсветки
16 (K) – Катод (-) питания подсветки

header1602

Я сразу припаял пины “папы”
n_4nehgwg10

Обратите внимание что Разъемы 15-16 соответственно”+” и “-” я припаял сразу к основному входу питания дисплея. Так делать не обязательно. Желательно этим пинам подать питание 3,3 Вольт
или добавить сопротивление. Так как напряжение подсветки рассчитано на 3,3 Вольт

Вывод информации:

Для работы дисплея используется встроенная с среду Arduino IDE библиотека LiquidCrystal.h

Сам же дисплей может работать в двух режимах :

• 8-битный режим – для этого используются и младшие и старшие биты (BB0- DB7)

• 4-битный режим – для этого используются и только младшие биты (BB4- DB7)

Использование 8-битного режима на данном дисплее не целесообразно. Для его работы требуется на 4 ноги больше, а выигрыша в скорости практически нет т.к. частота обновления данного дисплея упирается в предел < 10раз в секунду.

Для вывода текста необходимо подключить выводы RS, E, DB4, DB5, DB6, DB7 к выводам контроллера. Их можно подключать к либым пинам Arduino, главное в коде задать правильную последовательность.

Пример Программного кода

Результат:elnlf8sozd0

Символ я добавил потом. Что касается символов

Создание собственных символов

С выводом текста разобрались, буквы английского алфавита зашиты в память контроллера внутри дисплея и с ними проблем нет. А вот что делать если нужного символа в памяти контроллера нет?

Не беда, требуемый символ можно сделать вручную (всего до 7ми символов). Ячейка, в рассматриваемых нами дисплеях, имеет разрешение 5х8 точек. Все, к чему сводится задача создания символа, это написать битовую маску и расставить в ней единички в местах где должны гореть точки и нолики где нет.

В ниже приведенном примере нарисуем смайлик.

lcd_bit_mask

Пример кода:

Тестовый код с применением текста и смайликов:

Код с символом нашего сайта

Регулировка подсветки:

На видео видно если не подключать пин регулировки подсветки (как советуют другие) экран может и не показать результат.

Первое время я так и думал. Только потом подключил резистор

2,506 просмотров всего, 8 просмотров сегодня