STM32采集电阻触摸贴膜

简介: 公司的项目用电阻屏,触摸的时候发现获取的位置会漂,后来自己发现是由于压力的问题....如果亲们用电阻屏发现触摸的位置有问题,可以看一下这篇文章,,先测量触摸的压力,达到一定程度之后再获取坐标值,这样就不会漂了今天为了解决一个测量电阻屏压力的问题,自己直接用STM32做了一个测量电阻屏的程序(直接把触摸屏的四根线接到单片机引脚上),通过AD切换采集,采集X轴电压,Y轴电压,和压力.

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

今天为了解决一个测量电阻屏压力的问题,自己直接用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

 

目录
相关文章
|
6月前
|
数据采集 编解码 算法
STM32采集正弦幅值的研究与实践
STM32采集正弦幅值的研究与实践
754 0
|
4月前
|
传感器 编解码 IDE
STM32CubeMX ADC采集光照和电压
STM32CubeMX ADC采集光照和电压
191 3
|
4月前
|
传感器 编解码 API
【STM32开发入门】温湿度监测系统实战:SPI LCD显示、HAL库应用、GPIO配置、UART中断接收、ADC采集与串口通信全解析
SPI(Serial Peripheral Interface)是一种同步串行通信接口,常用于微控制器与外围设备间的数据传输。SPI LCD是指使用SPI接口与微控制器通信的液晶显示屏。这类LCD通常具有较少的引脚(通常4个:MISO、MOSI、SCK和SS),因此在引脚资源有限的系统中非常有用。通过SPI协议,微控制器可以向LCD发送命令和数据,控制显示内容和模式。
164 0
【STM32】ADC采集光敏数据(不看库函数手册进行配置)
【STM32】ADC采集光敏数据(不看库函数手册进行配置)
【STM32】ADC采集光敏数据(不看库函数手册进行配置)
|
存储
2020电赛E题--非线性失真器程序设计-02-使用STM32实现THD高精度测量采集(附整个工程gitee链接)(二)
2020电赛E题--非线性失真器程序设计-02-使用STM32实现THD高精度测量采集(附整个工程gitee链接)
274 0
2020电赛E题--非线性失真器程序设计-02-使用STM32实现THD高精度测量采集(附整个工程gitee链接)(二)
|
算法
2020电赛E题--非线性失真器程序设计-02-使用STM32实现THD高精度测量采集(附整个工程gitee链接)(一)
2020电赛E题--非线性失真器程序设计-02-使用STM32实现THD高精度测量采集(附整个工程gitee链接)
448 0
2020电赛E题--非线性失真器程序设计-02-使用STM32实现THD高精度测量采集(附整个工程gitee链接)(一)
|
编解码 C语言 芯片
STM32入门开发:编写XPT2046电阻触摸屏驱动(模拟SPI)
STM32入门开发:编写XPT2046电阻触摸屏驱动(模拟SPI)
722 0
STM32入门开发:编写XPT2046电阻触摸屏驱动(模拟SPI)
|
芯片
【STM32 .Net MF开发板学习-09】AD模拟量采集
AD/DA输入输出、PWM及其它底层硬件控制,.Net Micro Framework官方底层驱动代码及上层C#库并没有对这些功能进行封装,所以要想添加这类硬件的控制接口,需要从下到上进行全方位设计。
672 0
|
缓存 移动开发 vr&ar
stm32_DMA采集一个AD数据_并通过DMA向串口发送
这是以前学32的时候写的,那时候学了32之后感觉32真是太强大了,比51强的没影。关于dma网上有许多的资料,关于dma采集ad网上也有很多。亲们搜搜,这里只贴代码了,其实我也想详详细细地叙述一番,但是自己本身打字就慢,还有好多事情要做!代码是我亲自都在板子上测试过的,,当然粘贴/复制过去可能也不会尽如人意,知识这东西总是有许多道不清说不明的东西在里头,往往总是不经一番彻骨寒,哪得梅花扑鼻香。
1018 0
|
5月前
使用STM32F103标准库实现定时器控制LED点亮和关闭
通过这篇博客,我们学习了如何使用STM32F103标准库,通过定时器来控制LED的点亮和关闭。我们配置了定时器中断,并在中断处理函数中实现了LED状态的切换。这是一个基础且实用的例子,适合初学者了解STM32定时器和中断的使用。 希望这篇博客对你有所帮助。如果有任何问题或建议,欢迎在评论区留言。
447 2