513696765 发表于 2011-8-4 18:15:20

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

用单片机内部的AD去做触摸屏
触摸屏原理
http://cache.amobbs.com/bbs_upload782111/files_44/ourdev_664264NL8ML1.jpg
(原文件名:1_1.jpg)

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

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


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

http://cache.amobbs.com/bbs_upload782111/files_44/ourdev_664230BE32NN.gif
(原文件名:4.gif)

检测X坐标

http://cache.amobbs.com/bbs_upload782111/files_44/ourdev_664231EIO9AU.gif
(原文件名:5.gif)


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


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

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

xiaobendan 发表于 2011-8-4 18:37:35

楼主测试过吗?精度及稳定性如何?

jetimchen 发表于 2011-8-4 18:41:12

MARK

zdajun1988 发表于 2011-8-4 18:45:00

xuex i

hzc171 发表于 2011-8-4 19:48:34

AD可以干这个 很惊讶

pcwinner 发表于 2011-8-4 20:04:56

精度不够吧。。。。。。。

SNOOKER 发表于 2011-8-4 20:07:00

cool

513696765 发表于 2011-8-4 20:11:42

回复【5楼】pcwinner
-----------------------------------------------------------------------

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

skyhu 发表于 2011-8-4 20:18:37

有散点的问题没有?

513696765 发表于 2011-8-10 20:50:31

上传图片和演示视频,晚上手机拍的有点不清晰!还望大家海涵!

http://cache.amobbs.com/bbs_upload782111/files_44/ourdev_666308AND220.jpg
(原文件名:图像0543.jpg)

http://cache.amobbs.com/bbs_upload782111/files_44/ourdev_666309S0RV54.jpg
(原文件名:图像0544.jpg)

http://cache.amobbs.com/bbs_upload782111/files_44/ourdev_666310O8ZBFG.jpg
(原文件名:图像0545.jpg)

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

lovelywwei 发表于 2011-8-10 21:13:48

MARK

ghostxdy 发表于 2011-8-11 02:58:30

MARK..亮点在于触摸屏的原理

justSaar 发表于 2011-8-11 09:25:20

mark 电阻式触摸屏原理吗。。

mcu5i51 发表于 2011-8-11 10:23:44

以前想过,不过大多时候都有现成的控制芯片,这个用的地方不太多

hygs 发表于 2011-8-11 13:07:55

学习

bingshuihuo888 发表于 2011-8-11 13:37:47

记号。

ijlc1314 发表于 2011-8-11 14:08:49

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

zuu0 发表于 2011-8-11 14:23:14

mark

qq20707 发表于 2011-8-13 10:38:47

mark

david.h.du 发表于 2011-11-29 19:32:33

回复【楼主位】513696765 小牛
-----------------------------------------------------------------------
不得不mark啊。。。赞巨牛。。

badodo 发表于 2011-11-29 22:27:14

mark

bigeblis 发表于 2011-11-29 22:46:00

专用芯片的原理也是这样的,不过加了很多抗干扰措施而已。
楼主说的这个办法,拿来做手触菜单识别绝对够用了。

tianheiGE 发表于 2011-11-29 22:49:18

酷,mark

bluelool 发表于 2011-11-29 22:57:29

mark

yuxinxb13 发表于 2011-11-30 00:21:35

不错,学习了

Helloeveryon 发表于 2011-11-30 00:35:31

MARK

fydzaa 发表于 2011-11-30 01:31:02

标记

splfsp 发表于 2011-11-30 09:01:24

标记

pcwinner 发表于 2011-11-30 09:10:37

速度不够吧。。。。。用得上触摸屏的也不差那么一点成本吧/

a312835782 发表于 2011-11-30 10:33:05

标记

huananlg1 发表于 2011-11-30 10:51:25

单片机+触摸屏,高级

zzw223226 发表于 2011-11-30 11:23:37

这个不错

p4s5j6 发表于 2011-11-30 11:50:01

ding

tidal 发表于 2011-11-30 11:56:06

MARK

liuhaoytu2007 发表于 2011-11-30 12:23:35

牛啊

madswan 发表于 2011-11-30 12:27:10

牛魔王,顶起来

renwocai 发表于 2011-11-30 13:24:44

记号

yyt1372 发表于 2011-11-30 14:32:11

记号

CK345 发表于 2011-11-30 20:20:23

mark

boycn 发表于 2011-11-30 20:25:36

学习

BXAK 发表于 2011-11-30 20:37:31

电阻式触摸屏原理

dongweitai 发表于 2011-12-7 21:06:18

回复【楼主位】513696765小牛
-----------------------------------------------------------------------

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

hnsfdxtanghao 发表于 2011-12-18 21:41:42

mark

AIDN 发表于 2011-12-19 23:25:36

按lz的原理今天用stm32试了下,当触摸时很好用,但没触摸时由于模拟端悬空值跳得非常厉害,想了下无论上拉下拉都有可能不触发,现在不知如何处理。

jiaohaitao 发表于 2011-12-20 00:02:57

mark。。。。。。。。。。

allen0871 发表于 2011-12-20 01:25:39

mark

AIDN 发表于 2011-12-20 08:26:20

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

anstxfw 发表于 2011-12-20 10:37:52

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

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

errzjm 发表于 2011-12-20 13:42:15

mark...........

77695 发表于 2011-12-20 20:03:58

overmountain 发表于 2011-12-20 20:19:50

mark
good

AIDN 发表于 2011-12-20 20:50:49

回复【50楼】anstxfw
-----------------------------------------------------------------------

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

wj414 发表于 2011-12-20 20:54:11

MARK

miyadai 发表于 2011-12-20 22:31:32

引用图片【楼主位】513696765 小牛
-----------------------------------------------------------------------
http://cache.amobbs.com/bbs_upload782111/files_44/ourdev_664264NL8ML1.jpg
(原文件名:1_1.jpg)

yoyobbs 发表于 2011-12-20 23:57:43

mark

anstxfw 发表于 2011-12-21 10:01:58

回复【54楼】AIDN
回复【50楼】anstxfw   
-----------------------------------------------------------------------
没触摸时不能悬空所以需要检测触摸,确定有触摸才ad,所以才有49楼
-----------------------------------------------------------------------

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

yusufu 发表于 2011-12-21 10:50:46

mark~~

wuzangtian1 发表于 2011-12-24 13:03:53

mark

taojie 发表于 2011-12-24 13:41:11

厉害

hunterluo_fu 发表于 2011-12-28 22:42:47

楼主, 类似的资料大把,但要做好不容易.

yhy630 发表于 2012-1-1 15:57:56

厉害

zzt8899 发表于 2012-1-1 17:07:00

cool

stm32wav 发表于 2012-1-1 17:18:12

MARK..亮点在于触摸屏的原理

liu123748 发表于 2012-1-16 23:27:41

yyd1123CC 发表于 2012-7-19 16:17:52

MARK!学习了。。。。。。。。。。。。。。。。。。

zlo007 发表于 2012-7-24 10:52:48

mark。。。。。。。。。。。。。。。。。

513696765 发表于 2012-8-22 02:40:58

dongweitai 发表于 2011-12-7 21:06 static/image/common/back.gif
回复【楼主位】513696765小牛
---------------------------------------------------------------------- ...

STC12C5A60S2

raxb 发表于 2012-8-22 10:45:28

普通IO口还可以做触摸按键呢?

miyadai 发表于 2013-2-16 13:41:24

学习!学习~~

huaidan2088 发表于 2013-2-16 16:13:46

mark ,非常不错,可以了解触摸屏的原理

daska110 发表于 2013-2-17 23:24:43

学习。。。。。。。。。。。

LCRPN 发表于 2013-2-18 06:10:21

猜想导电层是栅状结构而非简单的面结构。

树叶的门 发表于 2013-2-18 08:19:29

单片机 触摸屏

iam352000 发表于 2013-11-27 11:44:23

好东西,MARK

skyxjh 发表于 2013-11-28 00:07:49

电阻屏原理

颜靖峰 发表于 2017-4-25 01:11:47

终于找到了,诶

mf_zou 发表于 2017-4-25 08:00:14

本帖最后由 mf_zou 于 2017-4-25 08:03 编辑

颜靖峰 发表于 2017-4-25 01:11
终于找到了,诶

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

hzpyl 发表于 2018-12-20 13:40:11

很有参考意义。
想试试。
主要是:电池电源场合,能不能做到低功耗。
页: [1]
查看完整版本: 用单片机内部的AD去做触摸屏