电阻屏和电容屏

目录

一、电阻屏

1.欧姆定律

2.电阻屏原理

(1)测量 X 坐标

(2)测量 Y 坐标

3.电阻屏数据

二、电阻屏

1.原理

2.电容屏数据

(1)Type A

(2)Type B

3.电容屏的实验数据


一、电阻屏

触摸屏分为电阻屏、电容屏。电阻屏结构简单,在以前很流行;电容屏支持多点触摸,现在的手机基本都是使用电容屏。

注意:

LCD、触摸屏不是一回事,LCD 是输出设备,触摸屏是输入设备。制作触摸屏时特意把它的尺寸做得跟 LCD 一模一样,并且把触摸屏覆盖在 LCD 上。

1.欧姆定律

图中的电阻假设是均匀的,就是长度和阻值成正比关系。电阻长度为 L,阻值为 R,在两端施加 3.3V 电压。在某点测得电阻为 V,求上图中长度 X。 根据欧姆定律:3.3/R = V/Rx,

根据欧姆定律:3.3/R = V/Rx, 因为长度和阻值成正比关系,上述公式转换为:3.3/L = V/X,所以X=LV/3.3。

2.电阻屏原理

电阻屏就是基于欧姆定律制作的,它有上下两层薄膜,这两层薄膜就是两个电阻,如下图所示:

平时上下两层薄膜无触触,当点击触摸屏时,上下两层薄膜接触:这时就可以测量触点电压。

过程如下:

(1)测量 X 坐标

在 xp、xm 两端施加 3.3V 电压,yp 和 ym 不施加电压(yp 就相当于探针), 测量 yp 电压值。该电压值就跟 X 坐标成正比关系,假设: X = 3.3*Vyp/Xmax

(2)测量 Y 坐标

在 yp、ym 两端施加 3.3V 电压,xp 和 xm 不施加电压(xp 就相当于探针), 测量 xp 电压值。该电压值就跟 Y 坐标成正比关系,假设: Y = 3.3*Vxp/Ymax

在实际使用时,电阻屏的 Xmax、Ymax 无从得知,所以使用之前要先较准: 依次点击触摸屏的四个角和中心点,推算出 X、Y 坐标的公式:X = func(Vyp),Y = func(Vxp)

3.电阻屏数据

Linux 驱动程序中,会上报触点的 X、Y 数据,注意:这不是 LCD 的坐标值, 需要 APP 再次处理才能转换为 LCD 坐标值。

对应的 input_event 结构体中,“type、code、value”如下:

按下时:

松开时:

二、电阻屏

1.原理

电容屏中有一个控制芯片,它会周期性产生驱动信号,接收电极接收到信号, 并可测量电荷大小。当电容屏被按下时,相当于引入了新的电容,从而影响了接 收电极接收到的电荷大小。主控芯片根据电荷大小即可计算出触点位置。

怎么通过电荷计算出触点位置?这由控制芯片实现,这类芯片一般是 I2C 接口。

我们只需要编写程序,通过 I2C 读取芯片寄存器即可得到这些数据。

2.电容屏数据

电容屏可以支持多点触摸(Multi touch),驱动程序上报的数据中怎么分辨触点?

这有两种方法:Type A、Type B,这也对应两种类型的触摸屏:

(1)Type A

该类型的触摸屏不能分辨是哪一个触点,它只是把所有触点的坐标一股脑地上报,由软件来分辨这些数据分别属于哪一个触点。

Type A 已经过时,Linux 内核中都没有 Type A 的源码了。

(2)Type B

该类型的触摸屏能分辨是哪一个触点,上报数据时会先上报触点 ID,再上报它的数据。

具体例子如下,这是最简单的示例,使用场景分析来看看它上报的数据。

当有 2 个触点时(type, code, value):

当 ID 为 45 的触点正在移动时:

松开 ID 为 45 的触点时(在前面 slot 已经被设置为 0,这里这需要再重新设置 slot,slot 就像一个全局变量一样:如果它没变化的话,就无需再次设置):

最后,松开 ID 为 46 的触点:

3.电容屏的实验数据

假设你的开发板上电容屏对应的设备节点是/dev/input/event,执行以下命令:

hexdump /dev/input/event1

然后用一个手指点击触摸屏,得到类似下图数据:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/35947.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C# Socket

Socket命名空间:创建 Socket:连接到服务器(客户端):绑定和监听(服务器端):接受连接(服务器端):发送和接收数据:关闭 Socket&#xff1…

实战案例:如何用ChatGPT生成适合不同领域的高质量文章

随着人工智能技术的飞速发展,生成高质量文章已经不再是难题。特别是OpenAI开发的ChatGPT,更是为写作工作带来了极大的便利。那么,如何用ChatGPT生成适合不同领域的高质量文章呢?本文将通过实战案例,为大家详细讲解这一…

「实验笔记」华为HCIE(云服务)2.0-迁移实验-传统应用架构迁移

实验介绍 本实验先是在华为云上搭建了WordPress、自建mysql以及配置OBS存储,来模拟待迁移的环境。 随后通过华为云的迁移工具,将源环境迁移至华为云的目标环境(另一个区域)1、使用SMS(主机迁移服务)迁移应…

ARM 240625

练习: 汇编实现1-100累加,结果保存在r0 .text 声明下面内容都属于文本段内容 .globl _start 声明 _start 是一个全局启用的标签_start: 封装 _start 标签,汇编的标签和C中函数类似mov r0,#0 mov 把0 搬运到 r0 寄存器mov r1,#1 mov 把1 …

DWC USB2.0协议学习2--架构介绍

目录 1 系统级架构 1.1 DWC_otg PMU模块 1.2 DWC_otg层次结构框图 1.3 DWC_otg功能模块框图 1.4 USB Host体系结构 1.4.1 发送FIFO 1.4.2 接收FIFO 1.5 USB Device体系结构 1.5.1专用发送FIFO 1.5.2 单个接收FIFO 2 DWC_otg_core架构 2.1 AHB总线接口单元(BIU) 2.2…

SAP揭秘者-在QM标准功能增加取消UD的功能第二季

文章摘要: 上篇文章我已经给大家介绍怎么开发两个程序来取消UD,但是上篇文章中有提到这个时候去直接执行ZQEVAC40程序去取消物料凭证 则会报错,那么为了解决这个报错,我们需要更改后台配置。 接下来我给大家讲后台配置该怎么配置&…

软考初级网络管理员__其他单选题

1.某企业资料窒员工张敏和王莉负责向系统中录入一批图书信息(如:图书编号、书名、作者、出版社、联系方式等信息)。要求在保证质量的前提下,尽可能高效率地完成任务。对于如下4种工作方式,()比较恰当。 张敏独立完成图书信息的录入,王莉抽查…

浅谈Tomcat

文章目录 一、什么是Tomcat?二、Tomcat的下载安装三、使用tomcat访问资源 一、什么是Tomcat? Tomcat 就是一个 HTTP 服务器。 前面我们聊了HTTP服务器,像我们在网页输入URL,其实就是在给人家的HTTP服务器发送请求,既…

qt 读写json格式的文件应用举例 工具函数

1.概要 要做一个json的读取功能&#xff0c;先做一个原型&#xff0c;然后在实际的工程中套用 2.代码 2.1 main.cpp #include "widget.h" #include "inijsonparams.h"#include <QApplication>int main(int argc, char *argv[]) {IniJsonParams i…

华为MDC开发者调试工具以及配置使用介绍

MDC的开发过程的三大工具&#xff1a;MMC、MDS、Mind Studio&#xff0c;这三个工具完成了开发过程中的配置文件编写、代码编写以及AI模型的开发三个任务。除了开发&#xff0c;MDC还准备了两个调试工具&#xff0c;用于使用过程中数据的查看等。这一些调试工具分别对映射MDC中…

3.sping掌握Bean生命周期

在Spring框架中&#xff0c;Bean的生命周期指的是从Bean被创建到销毁的整个过程。掌握Bean的生命周期对于开发者来说非常重要&#xff0c;因为它可以帮助开发者更好地理解Spring如何管理Bean&#xff0c;以及如何在Bean的不同阶段插入自定义逻辑。以下是Bean生命周期的主要阶段…

802.11漫游流程简单解析与笔记_Part2_02_wpa_supplicant、cfg80211、nl80211内核与驱动的关系

wpa、cfg80211、nl80211内核与驱动的关系示意图如下&#xff1a; nl80211和cfg80211都是内核定义的标准接口&#xff0c;目的是规范驱动和应用的统一调用&#xff0c;wpa中常出现nl80211就是通过内核的nl80211接口调用对应cfg80211的部分&#xff0c;进而控制驱动收发数据或切换…

AI技术与艺术的融合:开创性的用户界面与产品体验

引言 近年来&#xff0c;人工智能&#xff08;AI&#xff09;的飞速发展改变了我们的生活和工作方式。AI技术不仅在算力和模型上取得了重大进步&#xff0c;更在用户界面和产品体验方面迎来了突破。近日&#xff0c;科技博客 Stratechery 的文章以及硅谷投资基金 AI Grant 的两…

高频面试题基本总结回顾2(含笔试高频算法整理)

干货分享&#xff0c;感谢您的阅读&#xff01; &#xff08;暂存篇---后续会删除&#xff0c;完整版和持续更新见高频面试题基本总结回顾&#xff08;含笔试高频算法整理&#xff09;&#xff09; 备注&#xff1a;引用请标注出处&#xff0c;同时存在的问题请在相关博客留言…

没有采用框架的LeSS导入

我提倡在使用LeSS中平衡框架导向和实验导向。因为框架导向已经挺强了&#xff0c;我想更多地展开实验导向。有可能不采用LeSS框架来导入LeSS吗&#xff1f;我认为是可能的&#xff0c;因为那其实就是受LeSS实验启发的持续改进。 受LeSS实验启发的持续改进 让我来分两部分加以…

Docker 命令——安全

我们将学习两个命令。第一个命令是 docker container run 命令&#xff0c;这样你就能看到使用该命令的一些好处。其次&#xff0c;我们将看看 docker container diff 命令&#xff0c;你可以用它来查看在已有的镜像基础上做了什么。让我们看看如何使用这两个命令来确保容器的安…

补充:二分类器实现多分类 --- 一对一与一对多策略

文章目录 前言一、一对多(One-vs-Rest, OvR)1 理论2 决策原则(这里给出的是SVM的,其他的二分类器也类似)2 简单代码演示二、 一对一(One-vs-One, OvO)1 理论2 决策原则(投票)3 简单代码演示总结前言 我在大三刚接触到机器学习课程的时候,回归问题很自然就能跨过这个…

深度学习在蛋白质结构预测的新突破:AlphaFold、RoseTTAFold与ESMFold

在蛋白质结构预测和功能预测领域&#xff0c;基于机器学习的方法最近取得了显著的进展。特别是深度学习技术在这个领域中展现出了强大的能力&#xff0c;代表性的技术有 DeepMind 的 AlphaFold 和 RoseTTAFold。这些技术利用了大量的生物数据和先进的神经网络架构&#xff0c;极…

调试代码Pair-wise-Similarity-module-master

第一步&#xff1a;运行.py文件生成json文件 问题一&#xff1a;json.decoder.JSONDecodeError: Invalid \escape: line 1 column 31616 (char 31615) 解决&#xff1a; for dataset in dataset_list:with open(datasetmap[dataset] ".csv", "r") as li…

什么是Arkose Labs挑战及其解决方法

Arkose Labs挑战是一种复杂的机制&#xff0c;旨在验证用户是真正的人类&#xff0c;而不是自动化的机器人或脚本。这一挑战在维护在线服务的安全性和完整性方面发挥着关键作用&#xff0c;通过防止欺诈活动并确保只有真实用户才能访问某些功能。 目录 什么是Arkose Labs挑战&a…