打印

【已更新完毕】关于电阻触摸的4点校准和2点校准使用原理说明,适用于裸机和GUI

[复制链接]
319|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
丑帅丑帅的|  楼主 | 2018-8-9 19:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
2点触摸校准的实现
测试条件:
800*480分辨率显示屏,物理坐标值X轴范围0-799,Y轴0-479。
STMP811电阻触摸范围0 - 4095,其实就是一个差分ADC芯片。

实现思路:
点击了触摸板上的一点,会得到一个ADC采样值,含X轴和Y轴,那么如何将其转换为实际的物理坐标值?  实际上最简单的方法,建立一个比例关系即可:
采集的X轴ADC值乘以 799/4095,就是X物理坐标值。
采集的Y轴ADC值乘以 479/4095,就是Y物理坐标值。

考虑到触摸板的线性度差一点,坐标关系y = ax扩展为y = ax + b。

实现原理:
在左上角和右下角分别设置两个坐标点(LcdX0,  LcdY0)和(LcdX1,  LcdY1)然后让用户去点击,会得到两组ADC数值(AdcX0,AdcY0)和(AdcX1,  AdcY1)

根据这四个坐标点,可以建立两组方程,一个X轴的,一个Y轴。

将数值(AdcX0, LcdX0)和(AdcX1,  LcdX1)代入方程y = ax + b得到X轴方程 :y = (x - AdcX0)*(LcdX1 - LcdX0)/(AdcX1 - AdcX0) + LcdX0。
将数值(AdcY0, LcdY0)和(AdcY1,  LcdY1)代入方程y = ax + b得到Y轴方程 :y = (x - AdcY0)*(LcdY1 - LcdY0)/(AdcY1 - AdcX0) + LcdY0。

后面采集到的ADC数值直接代入上面公式就可以得到校准后的物理坐标值。

使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

741

主题

742

帖子

0

粉丝