Приобрести можно в магазине – партнере проекта FastAVR со скидкой 10% если перейти по ссылке
Подключаем LCD-дисплей на базе HD44780 к Arduino
При работе с Arduino иногда возникает необходимость вывести какие-либо данные на дисплей, но передавать для этого данные на ПК имеет смысл только если устройство будет использоваться в связке с ПК. А как же быть с автономными устройствами? Тут на помощь придут LCD-дисплеи.
Рассмотрим LCD-дисплеи на базе контроллера HD44780 на примере WH1602B-YYK-CTK.
Схема подключения в официальном руководстве на сайте Arduino выглядит так:
Однако, здесь по какой-то причине не используется подсветка, без которой изображение на дисплее выглядит хуже, чем на дешёвых китайских электронных часах. Так что мы, как подобает настоящим джедаям, её задействуем.
Кстати, дисплей имеет режим самотестирования, который можно включить, подсоединив выводы:
1 — Vss, земля -> GND
2 — Vdd, питание -> +5 В
3 — Vo, управление контрастностью напряжением ем выход потенциометра
15 — A, питание для подсветки -> +5 В
16 — K, земля для подсветки -> GND
Верхний ряд символов должен полностью заполниться тёмными прямоугольниками:
Повращайте ручку потенциометра, чтобы настроить контрастность дисплея. Если вы не видите верхний ряд прямоугольников, то либо вы неправильно подключили дисплей, либо его сожгли.
Хотя, кто знает — может, просто режим самотестирования не поддерживается (:
А для полноценной работы с дисплеем подключим 12 выводов:
1 — Vss, земля -> GND
2 — Vdd, питание -> +5 В
3 — Vo, управление контрастностью напряжением -> выход потенциометра
4 — RS, выбор регистра -> пин 12 Arduino
5 — R/W, чтение/запись -> земля (режим записи)
6 — E, он же Enable, cтроб по спаду -> пин 11 Arduino
7-10 — DB0-DB3, младшие биты 8-битного интерфейса; не подключены
11-14 — DB4-DB7, старшие биты интерфейса -> пины 5-2 Arduino
15 — A, питание для подсветки -> +5 В
16 — K, земля для подсветки -> GND
Этот дисплей, как и прочие на контроллере HD44780, поддерживает два варианта параллельного интерфейса:
8-битный, выводы DB0-DB7, за один такт передаётся 1 байт (8 бит)
4-битный, выводы DB4-DB7, за один такт передаётся половина байта (4 бита)
Смысла использовать 8-битный вариант нет, потому что это требует больше ног, а выигрыша в скорости всё равно нет: частота обновления дисплея не больше 10 раз в секунду, так что мы всё равно не сможем увидеть часто обновляемые данные. Поэтому выводы DB0-DB3 оставляем неподключенными.
Есть возможность подключить дисплей LCD12864?
Можно ли как нибудь реализовать то что говориться на этом видео в FLProg…? Ссылка на видео: https://www.youtube.com/watch?v=ib0jgLoH1AE