搜索
bottom↓
回复: 81

用单片机内部的AD去做触摸屏

[复制链接]

出0入0汤圆

发表于 2011-8-4 18:15:20 | 显示全部楼层 |阅读模式
用单片机内部的AD去做触摸屏
触摸屏原理

(原文件名:1_1.jpg)

触摸屏包含上下叠合的两个透明层,四线和八线触摸屏由两层具有相同表面电阻的透明阻性材料组成,五线和七线触摸屏由一个阻性层和一个导电层组成,通常还要用一种弹性材料来将两层隔开。当触摸屏表面受到的压力(如通过笔尖或手指进行按压)足够大时,顶层与底层之间会产生接触。所有的电阻式触摸屏都采用分压器原理来产生代表X坐标和Y坐标的电压。如图3所示,分压器是通过将两个电阻进行串联来实现的。上面的电阻(R1)连接正参考电压(VREF),下面的电阻(R2)接地。两个电阻连接点处的电压测量值与下面那个电阻的阻值成正比。
为了在电阻式触摸屏上的特定方向测量一个坐标,需要对一个阻性层进行偏置:将它的一边接VREF,另一边接地。同时,将未偏置的那一层连接到一个ADC的高阻抗输入端。当触摸屏上的压力足够大,使两层之间发生接触时,电阻性表面被分隔为两个电阻。它们的阻值与触摸点到偏置边缘的距离成正比。触摸点与接地边之间的电阻相当于分压器中下面的那个电阻。因此,在未偏置层上测得的电压与触摸点到接地边之间的距离成正比


(原文件名:2.gif)
计算触点的X,Y坐标分为如下两步:
  1. 计算Y坐标,在Y+电极施加驱动电压Vdrive, Y-电极接地,X+做为引出端测量得到接触点的电压,由于ITO层均匀导电,触点电压与Vdrive电压之比等于触点Y坐标与屏高度之比。
  2. 计算X坐标,在X+电极施加驱动电压Vdrive, X-电极接地,Y+做为引出端测量得到接触点的电压,由于ITO层均
匀导电,触点电压与Vdrive电压之比等于触点X坐标与屏宽度之比。

(原文件名:3.gif)


测得的电压通常由ADC转化为数字信号,再进行简单处理就可以做为坐标判断触点的实际位置。


(原文件名:4.gif)

检测X坐标


(原文件名:5.gif)


检测Y坐标
具体程序见压缩文件


点击此处下载 ourdev_664232XWZSTN.doc(文件大小:132K) (原文件名:用单片机内部的AD去做触摸屏.doc)

程序在压缩包内
点击此处下载 ourdev_664234APBZC0.rar(文件大小:37K) (原文件名:单片机操作触屏.rar)

出0入0汤圆

发表于 2011-8-4 18:37:35 | 显示全部楼层
楼主测试过吗?精度及稳定性如何?

出0入0汤圆

发表于 2011-8-4 18:41:12 | 显示全部楼层
MARK

出0入0汤圆

发表于 2011-8-4 18:45:00 | 显示全部楼层
xuex i

出0入0汤圆

发表于 2011-8-4 19:48:34 | 显示全部楼层
AD可以干这个 很惊讶

出0入0汤圆

发表于 2011-8-4 20:04:56 | 显示全部楼层
精度不够吧。。。。。。。

出0入0汤圆

发表于 2011-8-4 20:07:00 | 显示全部楼层
cool

出0入0汤圆

 楼主| 发表于 2011-8-4 20:11:42 | 显示全部楼层
回复【5楼】pcwinner
-----------------------------------------------------------------------

精度还可以!可以做那种触屏菜单!

出0入0汤圆

发表于 2011-8-4 20:18:37 | 显示全部楼层
有散点的问题没有?

出0入0汤圆

 楼主| 发表于 2011-8-10 20:50:31 | 显示全部楼层
上传图片和演示视频,晚上手机拍的有点不清晰!还望大家海涵!


(原文件名:图像0543.jpg)


(原文件名:图像0544.jpg)


(原文件名:图像0545.jpg)

点击此处下载 ourdev_666311XCO345.avi视频文件大小:3.89M) (原文件名:1602触屏检测显示坐标.avi)

出0入30汤圆

发表于 2011-8-10 21:13:48 | 显示全部楼层
MARK

出0入0汤圆

发表于 2011-8-11 02:58:30 | 显示全部楼层
MARK..亮点在于触摸屏的原理

出0入0汤圆

发表于 2011-8-11 09:25:20 | 显示全部楼层
mark 电阻式触摸屏原理吗。。

出0入0汤圆

发表于 2011-8-11 10:23:44 | 显示全部楼层
以前想过,不过大多时候都有现成的控制芯片,这个用的地方不太多

出0入0汤圆

发表于 2011-8-11 13:07:55 | 显示全部楼层
学习

出0入0汤圆

发表于 2011-8-11 13:37:47 | 显示全部楼层
记号。

出0入0汤圆

发表于 2011-8-11 14:08:49 | 显示全部楼层
使用过用单片机内部的AD去做的触摸按键,不是屏,就是现在小家电经常见的那种触摸了。现在小家电的触摸一般都是RC或是AD做的。
原理很简单:有一个500K的方波,人体相当于一个电容,按下时相当于电容并联了,电压就会下降,用AD就直接可以 检测到,再加点抗干扰的处理,感觉还行

出0入0汤圆

发表于 2011-8-11 14:23:14 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-8-13 10:38:47 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-11-29 19:32:33 | 显示全部楼层
回复【楼主位】513696765 小牛
-----------------------------------------------------------------------
不得不mark啊。。。赞巨牛。。

出0入0汤圆

发表于 2011-11-29 22:27:14 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-11-29 22:46:00 | 显示全部楼层
专用芯片的原理也是这样的,不过加了很多抗干扰措施而已。
楼主说的这个办法,拿来做手触菜单识别绝对够用了。

出0入0汤圆

发表于 2011-11-29 22:49:18 | 显示全部楼层
酷,mark

出0入0汤圆

发表于 2011-11-29 22:57:29 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-11-30 00:21:35 | 显示全部楼层
不错,学习了

出0入0汤圆

发表于 2011-11-30 00:35:31 | 显示全部楼层
MARK

出0入0汤圆

发表于 2011-11-30 01:31:02 | 显示全部楼层
标记

出0入0汤圆

发表于 2011-11-30 09:01:24 | 显示全部楼层
标记

出0入0汤圆

发表于 2011-11-30 09:10:37 | 显示全部楼层
速度不够吧。。。。。用得上触摸屏的也不差那么一点成本吧/

出0入0汤圆

发表于 2011-11-30 10:33:05 | 显示全部楼层
标记

出0入0汤圆

发表于 2011-11-30 10:51:25 | 显示全部楼层
单片机+触摸屏,高级

出0入0汤圆

发表于 2011-11-30 11:23:37 | 显示全部楼层
这个不错

出0入0汤圆

发表于 2011-11-30 11:50:01 | 显示全部楼层
ding

出0入0汤圆

发表于 2011-11-30 11:56:06 | 显示全部楼层
MARK

出0入0汤圆

发表于 2011-11-30 12:23:35 | 显示全部楼层
牛啊

出0入0汤圆

发表于 2011-11-30 12:27:10 | 显示全部楼层
牛魔王,顶起来

出0入0汤圆

发表于 2011-11-30 13:24:44 | 显示全部楼层
记号

出0入0汤圆

发表于 2011-11-30 14:32:11 | 显示全部楼层
记号

出0入85汤圆

发表于 2011-11-30 20:20:23 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-11-30 20:25:36 | 显示全部楼层
学习

出0入0汤圆

发表于 2011-11-30 20:37:31 | 显示全部楼层
电阻式触摸屏原理

出0入0汤圆

发表于 2011-12-7 21:06:18 | 显示全部楼层
回复【楼主位】513696765  小牛
-----------------------------------------------------------------------

楼主能否告知用的是什么单片机?????

出0入0汤圆

发表于 2011-12-18 21:41:42 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-12-19 23:25:36 | 显示全部楼层
按lz的原理今天用stm32试了下,当触摸时很好用,但没触摸时由于模拟端悬空值跳得非常厉害,想了下无论上拉下拉都有可能不触发,现在不知如何处理。

出0入0汤圆

发表于 2011-12-20 00:02:57 | 显示全部楼层
mark。。。。。。。。。。

出0入0汤圆

发表于 2011-12-20 01:25:39 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-12-20 08:26:20 | 显示全部楼层
网上搜了下lz略去了细节现在补上
所有的触摸屏都能检测到是否有触摸发生,其方法是用一个弱上拉电阻将其中一层上拉,而用一个强下拉电阻来将另一层下拉。如果上拉层的测量电压大于某个逻辑阈值,就表明没有触摸,反之则有触摸。这种方法存在的问题在于触摸屏是一个巨大的电容器,此外还可能需要增加触摸屏引线的电容,以便滤除LCD引入的噪声。弱上拉电阻与大电容器相连会使 上升时间 变长,可能导致检测到虚假的触摸。

出0入0汤圆

发表于 2011-12-20 10:37:52 | 显示全部楼层
回复【46楼】AIDN
按lz的原理今天用stm32试了下,当触摸时很好用,但没触摸时由于模拟端悬空值跳得非常厉害,想了下无论上拉下拉都有可能不触发,现在不知如何处理。
-----------------------------------------------------------------------

我遇到了没有触摸会有电压值,测X轴,Y+接推挽置1口,Y-接开漏置0口,X-接开漏置1口,X+接AD模拟输入口,结果没触摸测量会有电压值,不知道还有谁用这种方法做触摸屏的

出0入0汤圆

发表于 2011-12-20 13:42:15 | 显示全部楼层
mark...........
头像被屏蔽

出0入0汤圆

发表于 2011-12-20 20:03:58 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

出0入0汤圆

发表于 2011-12-20 20:19:50 | 显示全部楼层
mark
good

出0入0汤圆

发表于 2011-12-20 20:50:49 | 显示全部楼层
回复【50楼】anstxfw  
-----------------------------------------------------------------------

没触摸时不能悬空所以需要检测触摸,确定有触摸才ad,所以才有49楼

出0入0汤圆

发表于 2011-12-20 20:54:11 | 显示全部楼层
MARK

出0入0汤圆

发表于 2011-12-20 22:31:32 | 显示全部楼层
引用图片【楼主位】513696765 小牛
-----------------------------------------------------------------------

(原文件名:1_1.jpg)

出0入0汤圆

发表于 2011-12-20 23:57:43 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-12-21 10:01:58 | 显示全部楼层
回复【54楼】AIDN
回复【50楼】anstxfw   
-----------------------------------------------------------------------
没触摸时不能悬空所以需要检测触摸,确定有触摸才ad,所以才有49楼
-----------------------------------------------------------------------

感谢,早上自己琢磨出来了,后来想起论坛来着,发现一样的解决方法,谢谢!

出0入0汤圆

发表于 2011-12-21 10:50:46 | 显示全部楼层
mark~~

出0入0汤圆

发表于 2011-12-24 13:03:53 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-12-24 13:41:11 | 显示全部楼层
厉害

出0入0汤圆

发表于 2011-12-28 22:42:47 | 显示全部楼层
楼主, 类似的资料大把,但要做好不容易.

出0入0汤圆

发表于 2012-1-1 15:57:56 | 显示全部楼层
厉害

出0入0汤圆

发表于 2012-1-1 17:07:00 | 显示全部楼层
cool

出0入0汤圆

发表于 2012-1-1 17:18:12 | 显示全部楼层
MARK..亮点在于触摸屏的原理
头像被屏蔽

出0入0汤圆

发表于 2012-1-16 23:27:41 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

出0入0汤圆

发表于 2012-7-19 16:17:52 | 显示全部楼层
MARK!学习了。。。。。。。。。。。。。。。。。。

出0入0汤圆

发表于 2012-7-24 10:52:48 | 显示全部楼层
mark。。。。。。。。。。。。。。。。。

出0入0汤圆

 楼主| 发表于 2012-8-22 02:40:58 | 显示全部楼层
dongweitai 发表于 2011-12-7 21:06
回复【楼主位】513696765  小牛
---------------------------------------------------------------------- ...

STC12C5A60S2

出0入0汤圆

发表于 2012-8-22 10:45:28 | 显示全部楼层
普通IO口还可以做触摸按键呢?

出0入0汤圆

发表于 2013-2-16 13:41:24 | 显示全部楼层
学习!学习~~

出0入0汤圆

发表于 2013-2-16 16:13:46 | 显示全部楼层
mark ,非常不错,可以了解触摸屏的原理

出0入0汤圆

发表于 2013-2-17 23:24:43 | 显示全部楼层
学习。。。。。。。。。。。

出0入0汤圆

发表于 2013-2-18 06:10:21 | 显示全部楼层
猜想导电层是栅状结构而非简单的面结构。

出0入0汤圆

发表于 2013-2-18 08:19:29 来自手机 | 显示全部楼层
单片机 触摸屏

出0入0汤圆

发表于 2013-11-27 11:44:23 | 显示全部楼层
好东西,MARK

出0入0汤圆

发表于 2013-11-28 00:07:49 | 显示全部楼层
电阻屏原理

出0入0汤圆

发表于 2017-4-25 01:11:47 | 显示全部楼层
终于找到了,诶

出0入0汤圆

发表于 2017-4-25 08:00:14 来自手机 | 显示全部楼层
本帖最后由 mf_zou 于 2017-4-25 08:03 编辑
颜靖峰 发表于 2017-4-25 01:11
终于找到了,诶


Ti cortex-M4 官网有例程,值得参考。

出90入0汤圆

发表于 2018-12-20 13:40:11 | 显示全部楼层
很有参考意义。
想试试。
主要是:电池电源场合,能不能做到低功耗。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-20 21:19

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表