Подключение текстового LCD дисплея к Arduino

Существует множество модификаций подобных текстовых дисплеев, все они базирующихся на контроллере HD44780 или совместимым с ним, самые популярные двухстрочные дисплеи с 16 символами в строке. Хотя бывают и другие, но все они подключаются и работают по одному принципу.

Подключение к Arduino:

Распиновка:

Колодка на дисплее может быть двух типов, линейная, обычно встречается на экранах 1602 или 2004.

или шахматная, обычно встречается на экранах 0802, но это зависит от модели дисплея, такое можно встретить и на 1602.

Пин Обозначение Описание
1

VSS

Масса
2

VDD

Питание 5 вольт
3

VO

Питание LCD экрана (установка контрастности)
4

RS

Выбор регистра, команды или данные, (подключается на любой свободный выход arduino)
5

R\W

Выбор чтение или запись, (подключается к массе, ибо читать с экрана не нужно)
6

E

Сигнал разрешения, (подключается на любой свободный выход arduino)
7 — 10

DB0 — DB3

Младшие биты параллельного интерфейса, (в нашем случаи не используются)
11 — 14

DB4 — DB7

Старшие биты интерфейса, (подключается на любые свободные выход arduino)
15

A

Анод светодиода подсветки (подключается к питанию 5 вольт)
16

K

Катод светодиода подсветки (подключается к массе)

Схема подключения:

Стоит отдельно сказать про настройку контрастности, контрастность зависит от напряжения на 3 ноге экрана (VO). Выход подключается к переменному резистору, который включается между питанием и массой, по схеме делителя напряжения.

Если подать на дисплей питание, дисплей отображает строку инициализации. Так ведет себя любой дисплей на контроллере HD44780, но чтобы её увидеть нужно настроить контрастность. Перед тем как начать работать с дисплеем, нужно добиться видимости этой строки.

В случаи недостатка контрастности, отображаемый текст не видим на дисплее.

Избыток контраста, тоже мешает отображению текста.

Софт:

Всё для работы текстовым дисплеем есть в комплекте со средой разработки, дополнительно устанавливать библиотеку не нужно.

Открываем пример HelloWorld.ino из библиотеки LiquidCrystal и загружаем его в arduino.

На LCD видим текст HelloWorld и счетчик к которому прибавляется единица каждую секунду.

Пример HelloWorld.ino с русскими комментариями.

 

Видео: