STM32采集电阻触摸贴膜

公司的项目用电阻屏,触摸的时候发现获取的位置会漂,后来自己发现是由于压力的问题....如果亲们用电阻屏发现触摸的位置有问题,可以看一下这篇文章,,先测量触摸的压力,达到一定程度之后再获取坐标值,这样就不会漂了

今天为了解决一个测量电阻屏压力的问题,自己直接用STM32做了一个测量电阻屏的程序(直接把触摸屏的四根线接到单片机引脚上),通过AD切换采集,采集X轴电压,Y轴电压,和压力..最后附上自己的程序

先说一下电阻屏的原理

两层膜

上下的线(电阻)是呈    十  字交叉

现在按下以后测量X轴      

 X+ 接VCC     X-接GND   Y-不接,测Y+的电压

相当于

按下的位置越靠近X+

测得的电压越高

同理越原理X+测得的电压越低

对了

测量得电压不受YR-和YR+的影响,因为测量时YR-那端是浮空,YR+检测电压那端的检测电压电路没有寄生电压影响

现在测量Y轴

就是Y+接VCC    ,Y-接GND,,X-悬空,测量X+的电压

测得的Y轴电压越高

电阻屏还有一点是可以测量压力,,,自己也是为了测量这个压力而自己写的,,,一开始以为是触摸芯片内部的寄生电阻太大才引起的测量压力很不准确,自己用32做了以后才发现问题..变量问题....

自己参考的这篇文章

https://wenku.baidu.com/view/2bcc7eb569dc5022aaea003e.html

 我这里就说一种,其实明白了一种另一种自然明白....

如果再知道流过Rtouch的电流 I

那么电阻Rtouch = (V1 - V2)/I  假设电流是从V1流向V2哈...

先看怎么得到V1和V2

先得到V1

而这个R在测量X轴的时候是可以得到的

所以流过Touch的电流值就是

V1/R = V1 /(得到的X轴的电压值/4095*(X+和X-之间的电压值))

然后切换一下(就是说手在按着的时候电路在做切换测量)

再得到V2

 那么Touch的电阻值就是

(V2-V1) / (V1/R) =(V2-V1) / (V1 /(得到的X轴的电压值/(4095*(X+和X-之间的电压值))))

得到的X轴的电压值设为 X

X+和X-之间的电阻设为   R总

Touch电阻值 = (V2-V1)/(V1/(X/(4095*R总)) = (V2-V1)*4095*R总/V1

                   =V2*4095*R总/V1  - 44095*R总

                  = 4095*R总*(V2/V1 - 1)

应该是4096....

竟然有点高中的感觉了............

感觉写的有点乱...................一开始就应该把那些参数用变量规定好....不应该用汉字表达

实际操作会发现上下屏接触的面积越大电阻值就越小,其实也好理解--按照常识来说,为什么平常都说导线越粗电阻越小...按照物理的公式

这样的话其实也可以利用电阻屏来检测接触面积

我的程序

触摸屏引脚                 单片机引脚

X+                             PA1

X-                              PB0

Y+                             PA2

Y-                              PA3

程序就是按照原理来测量的,没用DMA多路AD采集,,因为弄了好长时间发现靠近的两个AD总是受到影响..弄得自己很郁闷

期待我同学小于的DMA多路采集AD的程序,,,,,....

 程序是在环形队列那个代码上添加的....

 链接:http://pan.baidu.com/s/1gfN2hfd 密码:yifn

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏嵌入式程序猿

mscan VS flexcan

在嵌入式程序猿的公众号里,曾多次介绍过NXP的flexcan以及基于flexcan的一些其他协议和开发,最近在用NXP的另外一款片子,使用的是mscan,这两种...

50090
来自专栏互联网研发闲思录

京东个性化推荐系统实战(上)

       推荐系统核心任务是排序,从线上服务角度看,就是将数据从给定集合中数据选择出来,选出后根据一定规则策略方法 进行排序。        线上服务要根据...

42960

Ray:AI的分布式系统

随着机器学习的算法和技术的进步,越来越多的机器学习应用程序需要多台机器,并且必须利用并行性。但是,在集群上进行机器学习的基础设施仍然是特设的。尽管针对特定用例(...

41960
来自专栏WeTest质量开放平台团队的专栏

深度了解Android 7.0 ,你准备好了吗?

2016年8月22日,谷歌正式推送Android 7.0 Nougat(牛轧糖)正式版,首发推送了多款Nexus设备。除了修复常规BUG,Android 7.0...

10230
来自专栏Java架构师学习

京东架构师的showtime京东个性化推荐系统实战

推荐系统核心任务是排序,从线上服务角度看,就是将数据从给定集合中数据选择出来,选出后根据一定规则策略方法进行排序。 线上服务要根据一定规则进行架构设计,架...

46660
来自专栏开源优测

JMeter定时器06

前言 在默认情况下,jmeter发送每个请求之间是没有延时的,如果采用默认方式,如果线程数足够大,瞬间就会将服务器压死。再则在实际的业务过程中,请求之间是有一定...

42260
来自专栏IT技术精选文摘

LVS集群的负载调度

1. 前言 本文将主要讲述在负载调度器上的负载调度策略和算法,如何将请求流调度到各台服务器,使得各台服务器尽可能地保持负载均衡。文章主要由两个部分组 成。第...

25090
来自专栏开源FPGA

基于FPGA的Uart接收图像数据至VGA显示

系统框图 ?   前面我们设计了基于FPGA的静态图片显示,并对一幅彩色图片提取了灰度,学习了RGB转Gray算法。这是基于一幅静态图片的,那么后面我们要怎么模...

30990
来自专栏Laoqi's Linux运维专列

常见的负载均衡LVS、Nginx和HAProxy

42250
来自专栏晨星先生的自留地

大数据比赛的一个小心得

46550

扫码关注云+社区

领取腾讯云代金券