Данная статья описывает конструкцию, принцип действия и использования цифрового матричного сенсорного экрана, работающего совместно с графической LCD панелью.
Описание
Сенсорный экран представляет собой плёночную, прозрачную конструкцию, размещаемую на поверхности дисплея, в описываемом случае LCD панели. На поверхности экрана расположены болшое количество виртуальных кнопок заменяющих механические ключи. Такое решение имеет ряд преимуществ над применением механических ключей.
Первое, очевидно. Это естественное желание оператора прикосновением к изображению на дисплее осуществить выбор соответствующей отображаемой функции.
Второе, универсализм. Разработчик, практически может пользоваться любым большим числом иконок- слов в качестве кнопок. При этом отпадает необходимость использования сложных клавиатур с большим числом механических кнопок. Такое решение позволяет дизайнеру простым изменением программ изменять вид и назначение отображаемых кнопок, что конечно –же дешевле применения множества механических кнопок и усложнения схем.
В третьих, заведомо дешевле размещение интерфейсов человек- машина на подобных простых программируемых устройствах.
Принцип действия
LCD сенсорный экран может быть представлен, как поле прозрачных кнопочных ключей, расположенных на поверхности графического дисплея.
Существует много технологий способных осуществить данное решение. Наиболее часто с LCD панелями используются два метода, резистивный аналоговый и матричный цифровой.
Данная статья ограничиваается рассмотрением матричного метода. Матричный дисплей представляет собой поле механических контактов соединённых в X/Y матрицу и показан на Рис.1.
Рис.1.
Конструкция сенсорных ключей представляет собой пластиковую поверхность с нанесёнными на неё прозрачными метеллическими контактами. Слой гибких распорок расположен между металлическими контактами на поверхности пластика. Завершает этот сандвич гибкий майларовый слой с прозрачными вторыми контактами сенсоров. Контакты одного слоя соединены вместе столбцами, другого слоя – строками. Строки и столбцы выведены на контакты внешнего разъёма. На Рис.2. приведена схема конструкции сенсоров.
Рис.2. Конструкция сенсорного экрана
Схемы и программы
Сенсорный экран обычно соединяется с микроконтроллером через его параллельный порт. На Рис.3. приведёна схема соединения контактов сенсорного экрана содержащего 5 столбцов и 3 строки.
Рис.3.
Линии соединения 5 столбцов и 3 строк соединяются с выводами 8- битного порта микроконтроллера. Данная матрица далее сканируется программно.
Выводы входов/выходов порта конфигурируются для 5 столбцов как входы с внутренними подтягивающими к напряжению питания резисторами. Выводы строк конфигурируются как выходы. Принцип сканирования осуществляется следующим образом: сначала на строке R1 устанавливается логический 0, на R2 и R3 – 1, процессор осуществляет считывание уровней на всех линиях столбцов С1, С2 и т. д. Если ни одна из кнопок строки R1 не нажата, то на всех входах будет присутствовать логическая 1. Затем сканируется строка R2, если нажать кнопку в узле R1, C3 то на входе C3 в данном цикле сканирования появится логический 0, что будет свидетельствовать о нажатии данной кнопки. Затем сканируется строка R3 и т. д. многократно циклически повторяясь.
Типичное применение
Для примера в данной статье мы разместим простое меню из 4 кнопок на LCD дисплее 320×240 с 70 позиционной сенсорной панелью (HDM3224TS-1). Прежде всего необходимо разработать меню с 4 изображениями кнопок. Изображения кнопок необходимо расположить точно под существующими сенсорами. См. Рис.4.
Рис.4. Типичное применение.
Изображение кнопки может занимать более 1 сенсора. На втором этапе необходимо выбрать адреса сенсоров соответствующие изображениям кнопок. В нашем примере этими адресами являются:
“SLOW” = C2, R7
“MEDIUM” = C2, R5
“FAST” = C2, R3
“STOP” = C9, R2 или C10, R2 или…C9, R7 или C10, R7
В заключение необходимо присвоить программный вектор каждому сенсору, перечисленному выше для динамического изменения цвета или вида кнопки, когда она была действительно нажата оператором, для зрительной обратной связи о выполнении каждого действия.
Такой виртуальный дисплей может быть оперативно изменён по желанию разработчика. Он является наиболее гибким и интуитивным из всех известных интерфейсов человек- машина.