реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Калибровка тачскрина ADS7846+ATmega128
I@COM
сообщение Sep 16 2010, 00:06
Сообщение #1





Группа: Участник
Сообщений: 10
Регистрация: 23-03-10
Из: Киев
Пользователь №: 56 163



Доброго времени суток всем!

Господа помогите !!!!!!!!!!!
Как реализовать на асме калибровку тачскрина, тач-контролер ADS7846, дисплей 240x320 пишу на ассемблере, если есть такая возможность по делица примером.
Видал примеры на С но к сожалению не сильно понятно (так общая картина)



а может какие ссылки есть почитать ?

Сообщение отредактировал I@COM - Sep 16 2010, 17:46
Go to the top of the page
 
+Quote Post
SergeyGrig
сообщение Sep 20 2010, 13:44
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 27
Регистрация: 25-03-10
Из: Москва
Пользователь №: 56 197



Применял тоже дисплей 240х320, но контроллер был другой - АД7843 (для резистивного 4-проводного). Но я думаю, что Ваш тоже дает коды по двум координатам в зависимости от нажатого места.
Делал упрощенный вариант по двум точкам по диагонали (в надежде, что ТС не сильно перекошен).
Цель калибровки: получить значения крайней левой и крайней правой точки (условно коорд.Х - 240 пикселей), и самой нижней и самой верхней точки (условно коорд.Y - 320 пикселей). По этим значениям также вычисляем ДельтаХ и ДельтаY. Эти значения в режиме Калибровки нужно получить, нажимая на ТС в двух углах - левом нижнем и правом верхнем. Но сделать это сложно, поэтому точки нажатия лучше сместить от углов пикселей на 8 или 16. Ну и сделать пересчет для коррекции этого сдвига.
А в рабочем режиме, чтобы получить значения точки нажатия в пикселях, решается пропорция: (Хнажатое - Хлевое) / ДельтаХ = Хпиксель / 240. Аналогично для Y со своими значениями.
Ну, может нужна еще какая-то поправка, что считать нулем по координатам.

Сообщение отредактировал IgorKossak - Sep 20 2010, 14:06
Причина редактирования: Бездумное цитирование
Go to the top of the page
 
+Quote Post
I@COM
сообщение Sep 20 2010, 21:40
Сообщение #3





Группа: Участник
Сообщений: 10
Регистрация: 23-03-10
Из: Киев
Пользователь №: 56 163



AD7843, ADS7843 они одинаковы только производитель разный, ADS7846 это доработанная ADS7843.
Спасибо!
буду думать
а вы не моглибы примером поделица java script:add_smilie(":unsure:","smid_6")
Go to the top of the page
 
+Quote Post
SergeyGrig
сообщение Sep 23 2010, 12:18
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 27
Регистрация: 25-03-10
Из: Москва
Пользователь №: 56 197



Если еще актуально.

Я сейчас условно-безработный, поэтому до кода не доберусь. Но вот нашел листочек с вычислением формул.
Ход такой:

допустим по коорд. Х - 240 пикселей. Крестики, в которые будем тыкать при калибровке, сдвинули на 16 пикселей от углов. Измеренные значения: Х1 - левый угол (меньшее значение), Х2 - правый угол (большее значение).
Значение, которое надо получить: Хлевый - значение именно левого угла по Х.
Итак, значение на один пиксель V1 будет равно: V1 = (Х2 - Х1) / (240 - 2 * 16). Значение на 16 сдвинутых пикселей равно: V16 = V1 * 16.

Хлевый = Х1 - V16 = Х1 - (Х2 - Х1) * 16 / (240 - 2 * 16) = ........ = (Х1 * N1 - Х2 * 8) / N2 ,

где N1 = 120 -16 + 8 =112, a N2 = 120 - 16 = 104.

Аналогично для Хправый, Yлевый, Yправый, а также ДельтаХ и Дельта Y.

-------------
Жаль, что Киев не в Москве, а то подскочил бы laughing.gif .
Go to the top of the page
 
+Quote Post
I@COM
сообщение Sep 23 2010, 18:45
Сообщение #5





Группа: Участник
Сообщений: 10
Регистрация: 23-03-10
Из: Киев
Пользователь №: 56 163



Актуально 100%
Работа идёт полным ходом
---------------------------------
Да точно жаль что Москва не в Киеве а то бы встретились cheers.gif

Сообщение отредактировал IgorKossak - Sep 24 2010, 06:59
Go to the top of the page
 
+Quote Post
DVF
сообщение Mar 20 2011, 20:17
Сообщение #6


Знающий
****

Группа: Свой
Сообщений: 630
Регистрация: 26-07-06
Из: Саратов
Пользователь №: 19 097



Цитата(SergeyGrig @ Sep 23 2010, 15:18) *
Аналогично для Хправый, Yлевый, Yправый, а также ДельтаХ и Дельта Y.

А дальше? Как применять поправочные коэффициенты? Каков алгоритм?
Go to the top of the page
 
+Quote Post
SasaVitebsk
сообщение Mar 21 2011, 08:13
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Почитайте эту ветку - там есть ссылка на документ.
http://electronix.ru/forum/index.php?showt...%EA%F0%E8%ED%E0
Go to the top of the page
 
+Quote Post
SergeyGrig
сообщение Mar 23 2011, 20:06
Сообщение #8


Участник
*

Группа: Участник
Сообщений: 27
Регистрация: 25-03-10
Из: Москва
Пользователь №: 56 197



Цитата
А дальше? Как применять поправочные коэффициенты? Каков алгоритм?


А дальше:

Хлевый и прочие - это в значениях контроллера. Нам нужно в пикселях. Для этого составляем пропорцию:

(Х измер - Х левый) / Х пиксель = ДельтаХ / 240

Отсюда находим Х пиксель - значение нажатой (измеренной) точки в пикселях относительно начала отсчета ( Х левый).

Кто такие поправочные коэффициенты? - это если есть перекос тачскрина? Тогда нужно брать больше точек и усложнять вычисления. У меня вариант упрощенный.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 17th June 2025 - 21:27
Рейтинг@Mail.ru


Страница сгенерированна за 0.01392 секунд с 7
ELECTRONIX ©2004-2016