Сенсорные экраны были изобретены несколько десятилетий назад, но только недавно получили широкое распространение. Для людей методы ввода с помощью сенсорного экрана более привычны и удобны, чем другие методы.
В этой статье описывается работа четырехпроводного резистивного сенсорного экрана, т.е. получение координат X и Y точки, на которую нажимают. В проекте используется минимально возможное количество разделов, а основной акцент статьи сделан на теории.
Поэтому задача нашей схемы — считывать координаты с сенсорного экрана и отображать их на ЖК-дисплее. Конечно, все это "выполняет" микроконтроллер.
Список используемых компонентов: — PIC18F452 — микроконтроллер PIC (паспорт) — стабилизатор напряжения 7805-5В (KREN5) — кристаллический осциллятор 20 МГц. Частота не критична — можно также использовать 4, 8 и 16 МГц — программатор PICkit2 и т.д. Для прошивки PIC — 4-проводной резистивный сенсорный экран (тачскрин). Все они работают по одному принципу, поэтому можно использовать любой из них — отладочную плату 16×2 LCD и перемычку.
Схема использует шесть линий связи между сенсорным экраном и микроконтроллером. Два из них используются для АЦП, а четыре подключены к контактам PORTD RD0 — RD3. Здесь PORTD используется для подачи питания или заземления на четыре линии сенсорного экрана. ЖК-монитор подключается через 4-битный интерфейс.
Как работает сенсорный экран
Для наглядности давайте сравним работу сенсорного экрана с работой обычного резистивного триммера. Пока что сенсорный экран использует только одну координатную ось.
Напряжение на выходе подстроечного резистора относительно общей линии зависит от сопротивления тока. Аналогичный принцип используется в сенсорных экранах. Если щуп поместить в центр экрана (как и в случае с обрезным резистором, это полукруг), выходное напряжение будет равно половине входного.
Сенсорный экран имеет две координаты, X и Y. АЦП микроконтроллера считывает данные с каждой координаты для формирования координат точки, на которую производится нажатие.
Сборка устройства
На рисунке выше показаны все компоненты, необходимые для сборки устройства.
Соберите устройство на отладочной плате в соответствии со схемой.
Сенсорный экран плоский и крепится к проводам с помощью скотча и скрепок.
Программа.
Программа реализует две основные задачи: аналого-цифровое преобразование координат и вывод данных на ЖК-дисплей. Это делается в четыре этапа. Первым шагом является считывание и преобразование значений X через АЦП. Затем то же самое происходит со значением Y, и на третьем и четвертом шагах отображаются точки X и Y соответственно. Затем весь цикл повторяется.
Фрагмент кода для преобразования координаты X и отображения ее на ЖК-дисплее выглядит следующим образом
Функция itoa () используется для преобразования аналогового значения в 10-битное цифровое значение. В десятичной системе счисления максимальное значение равно 1023, а минимальное — 0. Результат преобразования отображается на ЖК-дисплее.
Часть кода АЦП для преобразования координаты X:.
После того как вы все это сделаете, можно компилировать исходный код и прошить микроконтроллер. Он работает сразу без дополнительной настройки. 1024 пикселя — это многовато, но при необходимости уменьшите битовую глубину.