Сенсорная панель своими руками

Обновлено: 04.07.2024

Тачскрин (Touch Screen - сенсорный экран) изобретен несколько десятилетий назад, однако только в последние года он получил широкое распространение. Для человека, способ ввода при помощи сенсорного экрана более привычен и удобен, чем другие способы.

В данной статье мы рассмотрим работу с резистивным 4-х проводным тачскрином, а именно нахождение X и Y-координат нажатой точки. В проекте мы будем использовать минимальное количество деталей и основной упор статьи сделаем на теорию.

Итак, задачей нашей схемы будет считывание координат с тачскрина и вывод их на LCD-экранчик. Естественно "рулить" всем этим хозяйством будет микроконтроллер.

Список используемых компонентов:
- PIC18F452 - микроконтроллер PIC (даташит)
- 7805 - стабилизатор напряжения 5В (КРЕН5)
- 20 МГц кварцевый резонатор. Частота не критична, могут быть использованы и 4, 8, 16 Мгц
- программатор PICkit 2 и т.п. для прошивки PIC
- 4-х проводной резистивный тачскрин (Touch Screen). Работают они все по одному принципу, поэтому нет никакой разницы, какой именно вы будете использовать
- 16x2 LCD дисплей
- отладочная плата и перемычки

В схеме использовано 6 линий связи тачскрина с микроконтроллером. Две из них используются для АЦП и четыре подключаются к PORTD пинам RD0 - RD3. Здесь PORTD используется для подачи питания или земли к 4-м линиям тачскрина.
LCD-экранчик подключается по 4-битному интерфейсу.

Как работает тачскрин

Чтобы было понятнее, проведем сравнение работы обычного подстроечного резистора и тачскрина. В тачскрине мы пока что будем использовать только одну ось координат.

Напряжение на выходе подстроечного резистора, относительно общего провода, зависит от его текущего сопротивления. Подобный принцип используется и в тач скрине. Если установить стилус на середине экрана (по аналогии с подстроечным резистором это будет половина круга), то выходное напряжение будет составлять 1/2 от входного.

Тачскрин имеет две координаты: X и Y. АЦП микроконтроллера считывает данные с каждой координаты и т.о. формируется координата нажатой точки.

Сборка устройства

На фотографии выше приведены все необходимые компоненты для сборки устройства.

Собираем устройство на отладочной плате согласно принципиальной схеме.

Тачскрин имеет плоский шлейф, и для его соединения с проводами я использовал скотч и обычную скрепку.

Программа

В программе реализуется две основные задачи: аналогово-цифровое преобразование координат и вывод данных на LCD. Реализуется в 4 шага: на первом шаге происходит считывание и преобразование значения Х-координаты через АЦП, затем тоже самое происходит с Y-координатой, третьим и четвертым шагом происходит отображение X и Y точек соответственно. После чего, весь цикл повторяется.

Приведу кусок фрагмента кода преобразования и вывода X-координаты на LCD:

Функция itoa() используется для преобразования аналоговой величины в цифровое 10-битное значение. В десятичном коде максимальное значение составляет 1023, минимальное соответственно 0. Результат преобразования отображается на LCD-экранчике.

Фрагмент кода АЦП преобразования X-координаты:

После того, как все собрано, скомпилируйте исходник и прошейте ваш МК. Устройство заработает сразу, без каких либо настроек. 1024 точек конечно многовато, но если нужно - уменьшите разрядность.


И так, имеется автомобиль и штатный монитор. Задача: установить сенсорное стекло поверх дисплея, для управления нештатной навигационной системой или саr РС.

1. Замеряем ширину и высоту видимой области дисплея линейкой или штангенциркулем .Видимая область дисплея – область, не закрываемая пластиковой рамкой.



5. Проводим визуальную оценку, и возможность установки сенсорного стекла на дисплей или на пластиковую рамку. В данном случае, установку сенсорного стекла решили провести на пластиковую рамку, при помощи узкой двухсторонней клейкой ленты на вспененной основе . Перед нанесением клейкой ленты, следует провести обезжиривание поверхности.


6. Проводим подготовку металлической рамки дисплея – обклеиваем плотной тряпичной изолентой по краям . Данная обработка обязательна, дабы избежать попадания пыли и других мелких частичек в пространство между дисплеем и сенсорным стеклом, а так же для предотвращения повреждения стеклянной подкладки сенсорного стекла металлической рамкой дисплея при монтаже.



7. Снимаем защитную пленку с сенсорного стекла (делаем все аккуратно, не оставляя пальчики на поверхность стекла, которая будет находиться со стороны дисплея) и монтируем сенсорное стекло на клейкую ленту . Сенсорное стекло можно устанавливать в любом положении, то есть шлейфом вверх или в низ (в некоторых сенсорных стеклах шлейф может находиться не в низу, а с боку), при калибровке все станет на свои места.
Стеклянная подкладка сенсорного стекла должна находиться со стороны дисплея, активная мембрана со стороны пластиковой рамки дисплея!



8. Аккуратно протираем поверхность дисплея, смываем отпечатки и сдуваем пылинки,
желательно это делать специальным спреем и (или) салфетками, предназначенными для чистки мониторов. Ни в коем случае не проводите чистку монитора жидкостями содержащими нашатырь, аммиак (средства для чистки окон). В противном случае, вы попросту повредите антибликовое покрытие дисплея и придется долго объяснять клиенту, что так и было. Наглядный пример отображен на рисунке .


9. Монтируем дисплей на свое место.


10. При монтаже дисплея к пластиковой рамке следует подложить набор шайб в образовавшийся зазор, между металлической рамкой дисплея и крепежными выступами пластиковой рамки, во избежание пережатия или повреждения сенсорного стекла. После монтажа, закрепите шлейф от сенсорного стекла на корпусе дисплея, при помощи тряпичной изоленты



11. Итог проведённой работы :


Дальше идёт схема подключения сенсорного монитора к нави блоку ( например ) или к PC- авто.



Вот вы и получили сенсорный монитор из штатного экрана автомобиля, теперь область его использования станет гораздо выше. Цены на сенсорные стёкла довольно приемлемые и колеблются в зависимости от размера и формы от 25-50у.е.


Оранжевая область – неактивная область, по периметру которой нанесены токопроводящие дорожки, подведенные к резистивному покрытию к каждой из четырех сторон сенсорного стекла. Стороны сенсорного стекла обозначаются X+, X-, Y+, Y- (по аналогии с обычным векторным графиком). При инсталляции, неактивная область должна находиться вне поля зрения, то есть под пластиковой рамочкой обрамляющую дисплей. Неактивная область не должна пережиматься во избежание повреждения токопроводящих дорожек или стеклянной подкладки!
Зеленая область – видимая неактивная область. Данная область является промежуточной для простоты установки, она может находиться как под пластиковой рамочкой, так и за ее пределами.
Синяя область – активная область, активная поверхность при касании с которой считываются координаты прикосновения. Пластиковая рамка дисплея ни в коем случае не должна прижиматься к активной области сенсорного стекла иначе сенсорное стекло попросту не будет реагировать на нажатие в определенной области, то есть будут постоянно считываться координаты в зажатом месте пластиковой рамкой!

Конструкция USB тач контроллера


USB тач контроллер предназначен для преобразования аналогового сигнала, считанного с резистивного сенсорного стекла, в протокол управления для навигационного блока (или компьютера). Данный протокол эмулирует манипулятор мышь: двойное нажатие – эмуляция двойного нажатия левой кнопкой манипулятора мышь; зажатие на 2-3 секунды – эмуляция нажатия правой клавиши манипулятора мышь (в некоторых приложениях появляется контекстное меню). Ниже представлен внешний вид USB тач контроллера, а также с левой стороны рисунка разпиновка гнезда CON2.
Хотим обратить ваше внимание, на важность разпиновки гнезда CON2, а также разпиновки шлейфа резистивного сенсорного стекла – они должны совпадать, в случае не совпадения просто проведите пере разпиновку кабеля переходника, который подключается к CON2 и сенсорному стеклу!
В комплект поставки USB тач контроллера также входит кабель переходник, который подключается к CON2 и к резистивному сенсорному стеклу, а также USB кабель .

Вряд ли среди родителей найдутся те, кто ни разу не слышал о развивающих игрушках и стендах Монтессори. Безопасные, яркие, продуманные до мелочей они притягивают к себе внимание взрослых и даже вызывают восхищение. Далеко не всегда есть возможность приобрести подобную панель для своей крохи. Причин здесь может быть несколько. Такие игры, получившие даже отдельное название — бизиборды, не относятся к разряду дешевых, да и места для их размещения в доме может оказаться недостаточно. Это вовсе не означает, что ребенок будет лишен возможности иметь дома развивающие панели, а вот сделать их придется самостоятельно.


Общаясь со стендом ребенок познает мир, развивает мышление, моторику, учится концентрировать внимание, и все это происходит в увлекательной для крохи игровой форме.

Задавшись целью, смастерить панель Монтессори самостоятельно не составит труда. Родители сами в праве решать, какую комплектацию выбрать. Главное подобрать материалы, не способные вызвать аллергические реакции или нанести какую-либо травму крохе и надежно закрепить все детали. Молнии, шнурки, задвижки, выключатели, звонки, краны — далеко не полный перечень того, что может находиться на стенде.

Выбор материалов и комплектующих во многом зависит от возраста ребенка и его предпочтений.

Крепить предметы на панели можно при помощи саморезов или строительного двустороннего скотча, способного обеспечить надежное прилегание.



Чем ярче будет стенд, тем более интересным он станет для ребенка. В любом случае важно, чтобы к каждой закрепленной на нем вещи у крохи был свободный доступ.


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



С такой панелью малыш способен научится обращению с различными устройствами и приобрести массу полезных навыков.



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




Такая игра вряд ли сможет надоесть. Не отходя от стенда малыш будет переключаться с одного занятия на другое.




С такой панелью ребенок узнает много интересного о форме, размере и цвете предметов. Здесь нашлось место и для пазлов, и для счетного материала.



При достаточном количестве места организовать игровой стенд можно даже на стене.

Если вашей новой разработке нужен простой и интуитивный интерфейс, то графический ЖКИ с сенсорной панелью является лучшим выбором, поскольку вместе они образуют сенсорный экран. Используя такой экран и небольшое количество электронных компонентов, вы сможете создать привлекательное и удобное устройство.

Самостоятельное создание управляющего устройства с сенсорной панелью

Сенсорная панель – это тонкая, самоклеющаяся пластина, располагающаяся поверх экрана графического ЖКИ. Она настолько чувствительна к давлению, что даже легкое прикосновение вызывает некоторое изменение выходного сигнала. Существует несколько типов сенсорных панелей. Простейшим из них является резистивная сенсорная панель, которая и будет здесь описана.

Принцип работы

Резистивная сенсорная панель состоит из двух прозрачных твердых пленок, образующих подобие “бутерброда”, которые на своих внутренних сторонах имеют резистивное покрытие. Сопротивление этих слоев обычно не превосходит 1 кОм. Противоположные стороны покрытий имеют контакты, к которым присоединяется плоский кабель. Процесс определения координат точки, в которой произошло касание сенсорной панели можно разделить на два шага. На первом шаге определяется координата X, а на втором шаге определяется координата Y точки касания. Чтобы определить координату X, необходимо подключить левый контакт поверхности X к общей шине, а правый контакт к источнику питания. Это приводит к тому, что при нажатии на сенсорную пластину образуется делитель напряжения.

Значение напряжения с делителя считывается верхним контактом поверхности Y. Напряжение может находиться в диапазоне от 0 В до напряжения источника питания и зависит от координаты X. Если точка касания расположена около левого контакта поверхности X, выходное напряжение будет близко к 0 В. Чтобы определить координату Y, необходимо подключить нижний контакт поверхности Y к общей шине, а верхний контакт к источнику питания. В этом случае, напряжение считывается с левого контакта поверхности X.



Подключение панели к микроконтроллеру

Чтобы подключить сенсорную панель к микроконтроллеру необходимо создать схему для управления сенсорной панелью. С помощью этой схемы, микроконтроллер подключает необходимые контакты сенсорной панели к общей шине и источнику питания (как описано выше), чтобы определить координаты X и Y (см. Принципиальную схему №1). Верхний контакт поверхности Y и нижний контакт поверхности X подключены к АЦП микроконтроллера. Координаты X и Y определяются путем измерения напряжения на этих контактах, соответственно. Программное обеспечение создает меню на экране графического ЖКИ, включает/выключает схему управления сенсорной панелью и считывает значения АЦП, которые представляют реальные координаты X и Y точки касания.





Функции, использованные в программе

ADC_Read() Чтение аналогового сигнала*
Delay_ms() Задержка
Glcd_box() Рисование закрашенного прямоугольника
Glcd_circle() Рисование окружности
Glcd_Dot() Рисование точки

Читайте также: