|
|
Опции темы | Поиск в этой теме |
27.03.2013, 22:11 | #1 |
Старший Пользователь
Регистрация: 18.02.2013
Возраст: 42
Город: Санкт-Петербург
Регион: 78, 98
Машина: e46
Сообщений: 163
|
Собственный контроллер резистивного сенсорного экрана, совместимый с Android
Собрался я тут на досуге распотрошить свой штатный монитор и внедрить в него pccar на базе odroid-x2. Но это отдельная история, сейчас о мониторе, точнее о его сенсорном экране.
Размер матрицы у него 6.5", не то чтобы большая редкость, но найти удалось только с резистивным тачскрином. Много гуглив, стало ясно, что "завести" такой тачcкрин под Андроидом хотят все, но не кому это нормально не удалось. Почесав немного репу, посмотрев тут что такое резистивный экран и как он работает, я понял: "а ведь его удастся контролировать при помощи микроконтроллера avr!", тем более, решая предыдущую проблему связи с кнопками на руле, HID Class Device я уже научился делать и прикинутся для Андроида мышкой не составит труда. Погуглив еще раз, действительно нашел пару примеров, как подключить резистивный тач к микроконтроллеру. Начал я "воять". Всё получается, координаты касания к экрану определять научился, даже написал простую калибровочную утилиту. Мышкой прикидываться научился, курсор по экрану винды уже бегает примерно там, где я вожу пальцем. Настал час Х - подключение к Андроиду. Облом, не работает. Подключаю к винде - работает. Погуглив еще немножко, выяснилось, что Андроид не поддерживает мышки, которые передают абсолютные координаты, он умеет работать с мышами, которые передают движения. Вычислять, какие движения нужно передать, чтоб курсор попал в точку х,у кажется мне слишком сложными. В общем, я временно в тупике. Нужны идеи. От алгоритмов вычисления движений для перемещения курсора из точки А в точку Б, до других готовых способов подружить Андроид с резистивным тачем.
__________________
ibus2hid Touch Controller USB I2S вход 1NeedBMWK76m1vWukagfGKH3kLaJkXcSYK - для спасибо |
27.03.2013, 22:37 | #2 |
Старший Пользователь
Регистрация: 22.04.2009
Возраст: 43
Город: Москва
Регион: 77, 97, 99, 177
Машина: 2005\Nissan\X-Trail
Сообщений: 775
|
А если взять контроллер такой мышки и на его входы подавать абсолютные координаты?
__________________
В детстве, чтобы маленький Змей Горыныч был как все, мама заплетала его в косичку |
27.03.2013, 22:55 | #3 | |
Старший Пользователь
Регистрация: 08.05.2011
Регион: Украина
Машина: Subaru
Сообщений: 233
|
Цитата:
Запоминать последнюю точку и вычислять относительно нее dx и dy для новой точки. http://www.youtube.com/watch?v=RXJUcBbT19g Через какое-то время после таких вычислений будет накапливаться погрешность между реальным касанием и тем, что навычисляли. Необходимо обнулять погрешность. |
|
27.03.2013, 23:20 | #4 |
Гуру
Регистрация: 28.12.2009
Возраст: 40
Регион: Украина
Сообщений: 1,084
|
а я все никак не могу понять почему одни мышки работают в андроиде, а вторые нет
__________________
Проект Peugeot 207 - Nexus 7 |
28.03.2013, 00:09 | #5 |
Гуру
Регистрация: 20.07.2009
Город: Минск
Регион: Беларусь
Сообщений: 1,543
|
а если подключить через блютуз? это конечно через ж.. но может помочь
__________________
Мой проект: Citroen Xsara Android CarPC |
28.03.2013, 00:51 | #6 | |||
Старший Пользователь
Регистрация: 18.02.2013
Возраст: 42
Город: Санкт-Петербург
Регион: 78, 98
Машина: e46
Сообщений: 163
|
Цитата:
Цитата:
Цитата:
__________________
ibus2hid Touch Controller USB I2S вход 1NeedBMWK76m1vWukagfGKH3kLaJkXcSYK - для спасибо |
|||
28.03.2013, 01:05 | #7 |
Старший Пользователь
Регистрация: 22.04.2009
Возраст: 43
Город: Москва
Регион: 77, 97, 99, 177
Машина: 2005\Nissan\X-Trail
Сообщений: 775
|
Виноват, упустил из виду, что оптика мыши и процессор обработки смещены в одном корпусе, поэтому подсунуть свои данные не получится
__________________
В детстве, чтобы маленький Змей Горыныч был как все, мама заплетала его в косичку |
28.03.2013, 01:46 | #8 |
Старший Пользователь
Регистрация: 08.05.2011
Регион: Украина
Машина: Subaru
Сообщений: 233
|
|
28.03.2013, 13:06 | #9 |
Старший Пользователь
Регистрация: 18.02.2013
Возраст: 42
Город: Санкт-Петербург
Регион: 78, 98
Машина: e46
Сообщений: 163
|
Если не трудно, расскажи пожалуйста об особенностях с которыми тебе пришлось столкнуться. Это, возможно, сэкономит мне кучу времени. Первые эксперименты, которые я сейчас сделал, не особо удачны. Для устранения ошибки, после отпускания экрана, перевожу курсор в верхний левый угол и при следующем касании отталкиваюсь от этой позиции. Однако, при касании курсор у меня перемещается на много дальше чем нужно, но при дальнейшем движении двигается вроде на правильные расстояния. В общем, проведя еще кучу экспериментов, думаю приду к правильному решению, но хотелось бы сэкономить время.
__________________
ibus2hid Touch Controller USB I2S вход 1NeedBMWK76m1vWukagfGKH3kLaJkXcSYK - для спасибо |
28.03.2013, 13:30 | #10 |
Старший Пользователь
Регистрация: 18.02.2013
Возраст: 42
Город: Санкт-Петербург
Регион: 78, 98
Машина: e46
Сообщений: 163
|
Выяснилось, что передача смещения в 100 вызывает перемещение курсора примерно на 250 точек на экране. Пока не ясно, коэффициент 2,5 для всех компьютеров одинаков или для каждого он свой и зависит от каких-то настроек.
Ага, стало ясно, коэффициент зависит от настройки скорости перемещения курсора мыши в винде. Галочка "Включить повышенную точность установки указателя мыши" уменьшает первое движение мишкой. В Андроиде вроде нет таких настроек. Буду вычислять коэффициент на нем. На моем андроиде, коэффициент 2. Андроид с usb у меня один, проверить одинаковость на разных устройствах пока не могу. Зависит ли коэффициент от разрешения экрана?
__________________
ibus2hid Touch Controller USB I2S вход 1NeedBMWK76m1vWukagfGKH3kLaJkXcSYK - для спасибо Последний раз редактировалось zyxel812; 28.03.2013 в 14:15. |
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
|
|