Интересные цифры

Если не трудно, разъясните строки листинга:

y=(getU()-495)/(4105/64); //Вычисляем координаты нажатия
x=(x-400)/(4265/128);

в теме "AVR Touchscreen, сенсорный экран на ATmega8".
64 и 128 понятно, 4105 и 4265 не понятно, хотя близко к 4096 -
результат 12-ти разрядного АЦП (только, вот, откуда он в AVR).
А 495 и 400 ?

Давай рассмотрим пример: Есть

Давай рассмотрим пример:
Есть тачсрин, 128 по Х. Есть АЦП, который снимает аналоговый сигнал с оси Х.

Допустим при нажатии в координате Х=0 на АЦП появилось напряжение 2В. Назовем это напряжение Offset

При нажатии в координате х=127 на АЦП напряжение 4В. Назовем его Voltage.

Предположим что напряжение меняется линейно в зависимости от координаты нажатия.

Мы имеем (voltage-offset)/128 вольт/точку без учета оффсета.

Теперь имеем нажатие в случайной точке Х. Которую необходимо найти. При этом мы имеем на АЦП temp_voltage.

Нетрудно вычислить координату нажатия X=(temp_voltage-offset)/((voltage-offset)/128). Думаю теперь понятен смысл чисел, про которые спрашивалось. Это ручная калибровка, я промерял сколько вольт при нажатии на границах тачскрина, а дальше мысли изложенные выше.

Для оси У все аналогично.

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

Ценная мысль )

***PS: надо будет чуток модифицировать статью, добавить рассуждения и автоматическую калибровку. Которая будет просить юзера нажать справа/слева/сверху/внизу и на основании этой калибровки будет производить дальнейшие расчеты.***
Вероятно, калибровку с некоторым отступом от углов LCD?
И спасибо за разъяснение.

Угу, нарисовано 4 крестика по

Угу, нарисовано 4 крестика по углам, и надо в них тыцнуть по очереди.