Дисплей LCD 1602 с клавиатурой. Шилд для Arduino MEGA2560, MEGA1280, UNO R3
Артикул:
LCD-1602K
Код товара:
00490
Нет в наличии
Описание
Описание
Дисплей LCD 1602 с клавиатурой. Шилд для Arduino MEGA2560, MEGA1280, UNO R3 1602 LCD Keypad Shield V3 For Arduino UNO MEGA R3 ATMEL AVR
Модуль индикации и управления. Сочетание в одном модуле жидкокристаллического индикатора принимающего отображаемую информацию по шине 4 бит и небольшой клавиатуры упрощает разрабатываемый прибор. Применение модуля для сборки передней панели упрощает конструкцию. ЖКИ дисплей имеет регулировку подсветки. Предусмотрены отверстия для установки на переднюю панель прибора. Освоение модуля, макетирование и отладка программ будущего прибора упрощена благодаря штыревым соединителям, контакты которых соответствуют правилам Arduino.
Таймер
При подаче питания светится светодиод PWR. Входящий в модуль дисплей LCD 1602 ф. Winstar в своей работе опирается на контроллер HD44780U ф. Hitachi. Дисплей работает в четырехбитном режиме. Пример использования LCD 1602 в качестве шкалы радиоприемника здесь на видео.
Характеристики
Символьный дисплей Строк 2 Символов в строке 16 Знакоместо 5 на 8 точек Питание 5 В Предельная частота обновления экрана 5 Гц
Схема
Контакт кнопки RST выведен на соединитель, расположение которого совпадает с ответными компонентами Arduino UNO. Кнопка RST – сброс ардуино, при нажатии соответствующий контакт соединяется с общим проводом. Остальные 5 кнопок подключены к многоступенчатому резисторному делителю напряжения. Нажатие различных кнопок вызывает формирование соответствующего напряжения на выходе AD0. Этот выход подключается к входу АЦП, преобразующего напряжение в цифровой вид для дальнейшего использования в программе МК. Контрастность дисплея регулируется подстроечным резистором RP1. Светодиодная подсветка индикатора управляется транзистором Q1. Если контакт D10 не подключен, то на базу Q1 поступает ток от линии питания через резисторы R7 и R8, транзистор открыт и контакт LED- индикатора «соединен» c общим проводом. Подсветка работает. Если D10 соединить с общим проводом, то ток в базу транзистора течь не будет, он закроется и светодиодная подсветка выключится. ЖКИ индикатор используется в режиме параллельного интерфейса 4 бита, входы DB4-DB7. За один такт передается половина байта.
Назначение контактов индикатора IC1 LCD_TC1602.
VSS
Общий
VDD
Питание
V0
Контрастность
RS
Трактовка принятых данных
R/W
Общий
E
Активирование
DB0
Не подключены
DB1
DB2
DB3
DB4
Данные
DB5
DB6
DB7
LED+
Питание подсветки
LED–
Управление подсветкой
Контакты
Соединители расположенные на стороне компонентов.
Обозначения соединителей по схеме.
Расположение контактов.
Соединители выше индикатора.
Контакты ICSP
Контакты J8
Контакты J5
№
Соединяется с контактом Arduino и обозначение контакта
№
Соединяется с контактом Arduino и питанием
№
Соединяется с контактом Arduino и питанием
1
D12/ MISO
1
Общий провод
1
D13
2
Питание 5 Вольт
2
Питание 5 Вольт
2
D12
3
D13/SCK
3
не подключен
3
D11
4
D11/MOSI
4
D1
4
D3
5
Сброс
5
D0
5
D2
6
Общий провод
6
не подключен
6
D1
7
не подключен
7
D0
8
Общий провод
9
Питание 5 Вольт
Соединитель ICSP используется для обновления основной программы в контроллере дисплея HD44780U. Это выполняется редко, поэтому модуль поставляется без впаянных контактов ICSP. Соединитель J8 маркированный АРС&BТ предназначен для установки модулей радиосвязи категории ардуино поверх модуля ЖКИ индикатора.
Соединители под индикатором.
Контакты J7
Контакты J6
№
Соединяется с контактом Arduino и питанием
№
Соединяется с контактом Arduino
1
Сброс
1
A1
2
Питание 3,3 Вольта
2
A2
3
Питание 5 Вольт
3
A3
4
Общий провод
4
A4
5
Общий провод
5
A5
6
V in
6
A6
Соединители расположенные на стороне пайки.
Контакты J1
Контакты J2
Контакты J3
Контакты J4
№
Соединяется с контактом Arduino
№
Соединяется с контактом Arduino
№
Соединяется с контактом Arduino
№
Соединяется с контактом Arduino и питанием
1
D0
1
D8
1
A5
1
Vin
2
D1
2
D9
2
A4
2
Общий
3
D2
3
D10
3
A3
3
Общий
4
D3
4
D11
4
A2
4
Питание 5 Вольт
5
D4
5
D12
5
A1
5
Питание 3,3 Вольт
6
D5
6
D13
6
A0
6
Сброс
7
D6
7
Общий
8
D7
8
AREF
Контакты Arduino используемые модулем дисплея LCD 1602 с клавиатурой для подключения.
Контакт 6 соединителя J3 – выход напряжения, уровень которого соответствует нажатой кнопке. При соединении с ардуино подключается к входу А0. Контакты 8…5 соединителя J1 – информационные входы индикатора. При подключении к ардуино используются D7…D4. Контакт 1 соединителя J2 – вход сигнала RS управления режимом приема информации. Его уровень указывает на передачу данных или команды. При подключении к ардуино используется D8. Контакт 2 соединителя J2 – вход сигнала Е активирование. При подключении к ардуино используется D9. Контакт 3 соединителя J2 – вход управление подсветкой. Высокий уровень – включена, низкий – выключена. При подключении к ардуино используется D10. Неиспользованные модулем контакты выведены на края платы для использования другими модулями ардуино.
Клавиатура
Здесь применено формирование аналогового сигнала, уровень которого говорит о том какая кнопка нажата. Определить одновременное нажатие двух и более кнопок нельзя. Резисторы примененные в модуле дисплей LCD 1602 с клавиатурой имеют технологический разброс номиналов, производитель модифицирует модуль от версии к версии и номиналы меняются. Поэтому перед составлением программы определения нажатой клавиши следует измерить напряжение на контакте D0 соединителя J1 и установить какое напряжение будет при нажатии той или иной кнопки. АЦП примененное для анализа клавиатуры должно иметь опорное напряжение 5 В, разрядность большинства АЦП микроконтроллеров 10 бит, что соответствуем максимальному значению 1024. Значит напряжению 5 В на входе АЦП будет соответствовать величина 1024 на выходе АЦП, а напряжению 2,5 В соответствует 512. Имея данные о напряжениях при нажатии на кнопки можно рассчитать какое значение будет на выходе АЦП. Но не все так просто, впереди подводные камни. Наше опорное напряжение скорее всего будет взято от провода питания и оно не поддерживается с прецизионной точностью. Также опорное содержит шумы, фон 50 Гц и прочие искажающие влияния. В сумме с температурным дрейфом резисторов и шумами в напряжении питания резисторного делителя это приводит к заметным колебаниям результатов замеров напряжения с помощью АЦП. Для безошибочного определения кнопки в программе МК устанавливается соответствии кнопки не константе, а небольшому диапазону изменения результатов замера.
Подсветка
Показания ЖКИ индикатора хорошо читаются при внешнем освещении шкалы прибора. В темноте требуется подсветка. Постоянно включенная подсветка мешает чтению при хорошем освещении и приводит к лишним затратам энергии. Удобно применить автоматическое включение с помощью фотореле. Выручить может модуль обнаружения светочувствительный LM393. Дисплей LCD 1602 с клавиатурой содержит контакты для подключения питания датчиков. При использовании Arduino, для подключения выходного сигнала датчика на плате модуля есть множество контактов.
Попробуем включить
При подаче питания ЖКИ индикатор на несколько секунд входит в режим инициализации. В это время отображаются квадратики – полное заполнение знакоместа. Включив и отключив модуль дисплея LCD 1602 с клавиатурой несколько раз используем режим инициализации для настройки контрастности переменным резистором. Применим Arduino. Существует несколько модулей ардуино с дисплеем LCD 1602 и у каждого использованы разные контакты ардуино для приема данных индикатора. Программные примеры в пакете Arduino IDE содержат строку с указанием использованных контактов. Запись в этой строке придется изменить для работы модуля дисплей LCD 1602 с клавиатурой. Подойдет стандартная библиотека LiquidCrystal. Открываем examples > Hello world и в тексте меняем переменную типа ЖКИ
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
На
LiquidCrystal lcd(8, 9, 4, 5, 6, 7) ;
Здесь числа в скобках обозначают номера контактов несущих сигналы:
LiquidCrystal(rs, enable, d4, d5, d6, d7)
Сохраняем модифицированный текст примера и загружаем в Arduino UNO. На подключенном индикаторе должна быть надпись Hello world. Описание программы здесь. Удобнее всего использовать библиотеку LiquidCrystal. О библиотеке здесь. Она преобразовывает типы данных (из числовых в символьные) перед их выводом на экран, также можно указать и формат преобразования (DEC, BIN, HEX). Другие библиотеки, например LCD4Bit_mod могут требовать отдельного преобразования типов данных.
Использование интерфейса SPI
Для работы через интерфейс SPI используется микросхема сдвигового регистра 74НС595D. Описание работы, схема подключения и программная библиотека здесь.