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

STM32采集电阻触摸贴膜的更多相关文章

  1. 【STM32H7教程】第54章 STM32H7的LTDC应用之LCD电阻触摸和电容触摸

    完整教程下载地址:http://www.armbbs.cn/forum.php?mod=viewthread&tid=86980 第54章       STM32H7的LTDC应用之LCD电阻 ...

  2. andoid电阻触摸移植

    这里我使用的是210的开发板 系统Android4.0.4 内核linux3.0.8 要用电阻屏一般都是使用tslib进行校准的 这里给个我在android上用的tslib 下载地址 http://d ...

  3. STM32采集AD的输入阻抗问题

    在做一款消费电子产品时,需要采集电池电压(3.3V-4.2V),同时在休眠的时候希望尽量减小待机电流.电池电压采集电路采用两个1%的300K电阻进行分压,由该电路引起的待机电路为4.2/(300+30 ...

  4. S5PV210的电阻触摸屏&ADC控制器

    一.ADC与触摸屏控制器结构框图 1.S5PV210一共支持10路模拟输入,分别为AIN0-AIN9.其中AIN0和AIN1是只做模拟输入的,AIN2-AIN9分别可以支持2个电阻式触摸屏,所以这个就 ...

  5. 1--STM32 ADC1与ADC2 16通道DMA采集笔记(原创)

    最近在搞ADC,网上还是很多资源的,以下为参考链接:1.对STM32 ADC单次转换模式 连续转换模式 扫描模式的理解:https://www.cnblogs.com/zhanghankui/p/51 ...

  6. UWB DWM1000 开源项目框架 之 温度采集

    在之前博文开源一套uwb 框架,后面几篇博文会基于这个开源框架进行简单开发. 让uwb使用者更清楚了解基于这个basecode 开发工作. 这里所做内容是,采集dwm1000 温度,并发送到另一个节点 ...

  7. PCB电路设计 altiumdesigner(项目软件总结)

    1.Altium designer 10在PCB里面复制粘贴,比CAD里面多一个动作,就是点击ctrl+C后,要左键点一下复制基点,比如某根线端点或者焊盘,再粘贴,就是基于刚才点的那个为基点粘贴了.2 ...

  8. 【STM32H7教程】第51章 STM32H7的LTDC应用之LCD汉字显示和2D图形显示

    完整教程下载地址:http://www.armbbs.cn/forum.php?mod=viewthread&tid=86980 第51章       STM32H7的LTDC应用之LCD汉字 ...

  9. 基于pcDuino-V2的无线视频智能小车

    这段时间抽空做了个智能视频小车.包含了pid电机控制.socket网络编程.多线程编程.epoll机制.gtk图形界面编程. 这是界面: 小车的底层是用的stm32f405系列的单片机+电机驱动做的一 ...

随机推荐

  1. 第三方登录 ----QQ登录

    学习之前,请大家先看一下oAuth协议. 首先呢,我们进入QQ互联的官方网站 http://connect.qq.com登入我们自己的QQ号,没有QQ号的小伙伴可以忽略本篇博文分享!

  2. response.sendRedirect 报 java.lang.IllegalStateException 异常的解决思路

    今天在进行代码开发的时候,出现了 java.lang.IllegalStateException异常,response.sendRedirect("./DEFAULT.html") ...

  3. 使用TagHelper完成分页步骤

    使用TagHelper完成分页步骤 转载 2016-08-23 11:37:33 1 创建一个MyPageOpion类,用来存储分页信息,比如当前页,栏目总数,页面大小,跳转地址(RouteUrl)等 ...

  4. 微信小程序评分功能

    很多做过电商项目的朋友会经常用到评分的功能,我这里正好写了一个例子,发出来分享一下: 我写的是5分满分制的,首先,准备3个图片, ,像这样的,分别代表分数为0,0.5,1 时的状态, 效果图:(以3. ...

  5. android 学习笔记(1)

    内容来源:高成珍.钟元生<Android编程经典案例>学习笔记 表格布局——TableLayout 表格布局以行和列的方式来管理界面的布局,但并不能明确声明包含几行几列.可通过TableR ...

  6. .NET中数据访问方式(一):LINQ

    语言集成查询(Language-Integrated Query),简称LINQ,.NET中的LINQ体系如下图所示:   在编程语言层次,LINQ对于不同的数据源提供了相同的查询语法,方便了程序员操 ...

  7. js按值传递和按引用传递

    摘要:js的数据类型有种划分方式为 原始数据类型和 引用数据类型. 原始数据类型 存储在栈(stack)中的简单数据段,也就是说,它们的值直接存储在变量访问的位置.栈区包括了 变量的标识符和变量的值. ...

  8. activiti 一个流程的运转步骤 以请假流程为例

    ---为了加深对activiti的理解记忆,对自己做的一个流程进行自述.加强记忆 请假实例 一.设计请假的流程图以及流程文件,完善对应数据项,比如用户信息,请假单信息 --请假单 --流程图 --流程 ...

  9. Xamarin XAML语言教程使用Xamarin Studio创建XAML(二)

    Xamarin XAML语言教程使用Xamarin Studio创建XAML(二) 使用Xamarin Studio创建XAML Xamarin Studio和Visual Studio创建XAML文 ...

  10. html列表问题

    HTML无序列表 无序列表是一个项目的列表,此列项目运用粗体圆点(典型的小黑圆圈)进行符号. 无序列表运用 标签 Coffee Milk 浏览器闪现如下: <ul "="&q ...