Главная » Статьи » Как подключить |
подключение резистивной сенсорной панели к микроконтроллеру
В последнее время вырос огромный интерес к девайсам имеющим сенсорное управление, посредством тачскринов, сенсорных панелей и кнопок. Вот и я поддался моде и решил испробовать сенсорное управление как замену стандартным тактовым кнопкам. Самым простым вариантом, оказалось, использовать готовые сенсорные экраны, которые применяются в мобильных девайсах. Речь пойдет о сенсорных экранах, выполненных по резистивной технологии, так как они достаточно дешевы и с ними просто работать. Для опытов приобрел здесь сенсорный экран от телефона Samsung I710. Как это работает Экраны, выполненные по резистивной технологии, в основном состоят из двух частей — гибкого верхнего и жесткого нижнего слоев. В качестве гибкого слоя применяются различные пластиковые или полиэфирные пленки, а второй изготавливается из стекла. На внутренние стороны обеих слоев нанесено токопроводящее покрытие, обладающее определенным сопротивлением. Пространство между ними заполнено микроскопическим изолятором, который равномерно распределен по поверхности слоев разделяет два слоя друг от друга, не давая им замыкаться. ![]() При прикосновении, проводящие пленочки замыкаются и образуют между собой контакт, при этом точка прикосновения образует простой резистивный делитель: ![]() Благодаря этому координаты прикосновения можно легко вычислить, с помощью АЦП, проведя 2 измерения (сперва для одной координаты, затем для другой). Для этого на заднюю пленку подаем постоянное напряжение, например наши +5В (на вывод X+ подаем 5В, а на вывод Х- подключаем к земле). При этом, на каждом горизонтальном участке заднего слоя, ток создает падение напряжение, пропорционально длине участка, которое и нужно нам считать. Щупом послужит передний резистивный слой, один из электродов которого присоединен к АЦП. Это будет координата Х. Аналогично считывается и Y координата. Код для определения координат Фрагмент кода в Bascom-AVR работы с тачскрином ниже; один слой использует подключение к 0 и 2 каналам АЦП, другой к 1 и 3 каналам. Touchscreen: Config Pina.1 = Output 'ставим порты на выход
Config Pina.3 = Output 'к ним подключены электроды с первой пленки
Reset Porta.1 'садим электрод на землю
Set Porta.3 'устанавливаем на электроде напряжение питания
Ddra.0 = 0 'делаем порты как вход
Ddra.2 = 0 'отсюда будем считывать показания с АЦП
Waitms 100 'ждем утихания переходных процессов
X = Getadc(2) 'читаем координату X
X = 1023 - X 'приводим в удобный вид
Xstr = Str(x) 'готовим переменные для вывода на дисплей
'повторяем для координаты Y
Config Pina.0 = Output
Config Pina.2 = Output
Reset Porta.0
Set Porta.2
Ddra.1 = 0
Ddra.3 = 0
Waitms 100
Y = Getadc(3)
Y = 1023 - Y
Ystr = Str(y)
Return
'возвращаемся в основной цикл программы
тачскрин, который я использовал, для подключения имеет 4х проводной шлейф вполне паябельных размеров (существуют еще пяти проводные резистивные экраны, но принципом определения координат они не отличаются) Считанные координаты я просто вывел на дисплей, использовав модуль на atmega32 с дисплеем nokia3310. Теперь можно привязать координаты на выполнение любых действий, все зависит только от фантазии =) | |
Просмотров: 38277 | Комментарии: 17
| Теги: |
Всего комментариев: 17 | |||||||||||||||
| |||||||||||||||
авторизация
рубрики
Проекты [46] |
Как подключить [32] |
Инструменты [3] |
Полезная информация [18] |
Объявления [3] |
метки