如何在没有人手的情况下使用电容式触摸屏


25

我是一名程序员,通常会在堆栈溢出时闲逛,但是我有电问题。

我试图通过间接触摸屏幕与手机上的APP进行交互。我敢肯定,这里的每个人都知道,现代触摸屏是电容性的,而不是电阻性的,这意味着只要我可以在要触摸的屏幕上通入小电流,我就可以与它进行交互。

我正在尝试使用一些扬声器电缆和我在房屋周围铺设的其他几根电线,以查看我能走多远,并且仍然通过电线传递足够的电流,以便根据我的距离和触摸屏在屏幕上显示触摸感。电线的尺寸和质量。

我发现的是,即使我没有触摸导线,触摸屏幕上的导线似乎也能感觉到触摸。那么电线内部已经有电流了吗?是我使用的电线类型吗?我给人的印象是,一根电线本身没有电流,只有在有外部电源的情况下才通电。

我可以做些什么使电线放电或以某种方式阻塞电线吗?


感谢大家让我知道电容式触摸屏的工作原理。我脑子里错了。

我要解决的问题是我想通过远距离的触摸屏与手机进行交互。我可以使用任何材料将手机屏幕扩展到我所处的位置吗?我只需要几英尺远,就不需要花哨的时间,只需检测一下触摸事件即可。

我意识到这可能是一个奇怪的问题,因此,如果我没有得到任何答案,我仍然会在下面选择一个答案,我已经从这个问题中学到了很多。


我个人喜欢这份文档,以进一步了解电容式触摸技术:ti.com/lit/an/slaa363a/slaa363a.pdf
jippie 2013年

谢谢。这很有帮助。如果我对它的理解正确,则该设备在各个传感器垫周围会产生电场,并且它会检测干扰。当物体移入电场时会产生干扰,并由于其导电性而带走一些电荷。该设备识别出较少的电量,因此知道有东西在触摸它。那是正确的吗?
Jeff Ryan

不,不是真的,这更像是Theremin的工作方式。也许请访问youtube.com/watch?v=JVRuDY4X88M&sns=em
Grady Player,

感谢大家的帮助。每个答案对我都有很大帮助。我与Olin的往来最多,因此我选择了他的答案,但也感谢其他所有人。
Jeff Ryan

通过实时视频的图像处理来读取人体和四肢的位置,从而解决了与计算机之间的交互作用。您可以使用手势控制光标在屏幕上的位置,并生成诸如鼠标单击之类的事件。例如,请参见Microsoft的Kinect。
卡兹(Kaz)2013年

Answers:


8

因此,只要我可以在要触摸的屏幕上带一点电流,我就应该能够与之交互。

不会。您不会将电流“带”到设备。这些设备测量电容,而不是电流或电压。通过查看电容板对某些特定选择的信号的响应,可以检测出穿过人体回到环境或电路接地的额外电容。


喔好吧。我对这些问题的无知清楚地表明了这一点。因此,您似乎建议设备检测到什么东西触摸到它可以接收电流,而不是将电流输入设备。我不知道Im是否正确使用了术语,但是想法是方向从设备流向我,而不是相反。那是对的吗?
Jeff Ryan

2
@Jeff:是的,有点。逻辑方向是设备正在积极寻找事物的存在。某些东西纯粹是被动的。
Olin Lathrop

如果操作人员看到的电路与接近检测器相同的电路,也许会更有意义?
Grady Player

好。我正试图了解这一点。如果我在触摸屏上放置一角钱,并用塑料笔移动它,则什么也不会发生。但是,当我用手指触摸该毛钱并四处移动时,屏幕会做出反应。这是否意味着一角钱在我接触之前不导电?
Jeff Ryan

2
@Jeff:不,这意味着一角钱本身没有足够的电容,直到您触摸它为止。它具有足够的导电性,但是没关系,因为我们没有感测到导电性。您的身体的导电性不及一角硬币,而是大得多,因此更可能具有回到电路接地参考的最小电容耦合水平。电路正在寻找的是回到地面的这种电容性耦合。
Olin Lathrop

26

我通常会拒绝类推,但是由于您是一个仅使用软件的人,并且由于其他所有人都坚持要与您谈论电容,因此我将继续讲故事。

想象一下,您正在墙上射击彩弹。到处碰壁,到处都是油漆。除非您在一个地方开火,并且当油漆碰到它时,它会留下一点痕迹,但否则油漆就会消失。当您进行调查时,您发现有人在墙壁的另一侧连接了一个吸尘装置,并且由于墙板是纸,因此可以通过它吸取油漆。

电话中的机制正在执行类似的操作。它将一束电子驱动到玻璃的背面。通常,这可以看作是电压上升。但是在您的手指触摸的位置,电荷会被您的手指吸收,并且该位置的电压将大大降低。它在玻璃杯中的工作方式与电荷相互吸引和排斥的事实有关,但是您并不是来这里学习电子产品的,所以我们会对这种解释感到满意。

也许您会看到,放置在屏幕上的一角钱没有吸引到足够的电荷来由触摸电路记录,但是如果该角钱连接到了更大的物体(如您自己)上,那么就会吸收足够的电荷以进行检测。这更像是静电行为,而不是涉及电池,电线,电阻器和灯泡的经典电路。

[编辑,以解决“我该怎么办...”] 连接了开关感应线的手机的草图

我不知道是否可以进行类似的操作,但目标是能够通过将屏幕上的导线耦合回电话的接地系统来模拟触摸。接地(通过将手机放置在金属板上或金属板上进行)也是电容性的,等效于将手机握在手中。这个想法是,晶体管开关可以断开屏幕上的短引线,并且不会有足够的电容耦合返回到控制电路(您要尝试从中生成触摸事件的计算机)以使其在触发时跳闸。本来应该关闭。接通晶体管会将导线连接到接地板,然后应在电话中产生触摸事件。

[编辑:一位同事说,FET的杂散电容仍然太大,无法正常工作。无需花费任何尝试。]

[编辑:答案的这一部分是针对下面的评论]

这与大众无关。这是关于表面积。箔片比一角硬币可以容纳更多的电荷,即使重量更轻。对于一根电线,它的长度更多。同样重要的是,该电线是否连接到任何东西。如果您将其握在手中,则导线和您的身体就在等式中。在此实验中,您的身体就像一块金属一样。任何金属,无论是铜,镍,铝还是钢,都可以使用。唯一的要求是它导电。

顺便说一句,我只是在手机上尝试了一些金属物体,但令您惊讶的是,您从电线上得到了如此多的响应。一角钱什么也不会做,除非我用手指触摸。如果我握住四分之一手并触摸屏幕边缘,我什么也没得到。两个也不做。三个侧面堆叠可提供足够的接触力以影响屏幕。接下来,我尝试了一个握在手中的回形针。如果将圆角的末端触摸到屏幕,它将不会响应。我必须将其握住很长一段距离,并碰到一侧才能做出反应。一根竖立的金属棒不会影响屏幕,但是用手指触摸另一端会引起反应。

[编辑:@toolbear询问“地面”问题]

电压是两个电位之间的差。测量屏幕上的电压(并最终寻找手指的作用)的东西与该屏幕有一个连接,而另一个与参考的连接几乎可以肯定是手机内部的接地。此“地线”是整个电话中可能与金属零件的常用连接。这个想法是,当您手持手机时,手与手机内部地面之间存在电容耦合。至于关于地球地面的各种推测,它们之所以起作用,是因为一切最终都会在某种程度上将电容性地耦合到电话。至于“没有接地的,具有足够表面积的电容性物体”,这恰恰是在图示中显示为手机下方的一块板。

充电器或USB连接很可能会提供电话的接地连接,但这不能保证。打开电话即可使用,但在任何最终用户应用程序中,实用性有限。


你好 您的回答非常有帮助。如果您想继续解释这种现象,您是否可以解释为什么一角钱需要更大的地面才能产生足够的电荷来产生点击声,而细的扬声器导线本身会产生足够的电荷?我想电线的总质量是一样的。由于角钱主要由镍制成,我是否应该能够使用镍线将镍线附着到手机表面并远距离用手触摸,而获得的效果基本上与触摸屏幕上的角钱相同?
杰夫·瑞安

这是一个了不起的答案。
2013年

这种类比有助于弥合我对外行的理解的差距。
toolbear 2014年

您是否会详细说明电路的“接地系统”?您建议将其接地到设备下方的一块板上,但是可以将其接地到“接地”,我将其解释为脚下的地面。此外,是否需要接地还是有帮助?具有足够表面积的不接地电容对象也可以使用吗?
toolbear 2014年

很有意思。假设我在硬币上连接了一个10µF的电容器以增加容量,并且通过晶体管将两面都接地了,这样会更好吗?或者,我可以将硬币放在触摸屏上,在硬币和电容器之间添加一个继电器,然后通过继电器触发容量吗?我猜是时候进行一些实验了:-)
Thomas Weller

4

他们基本上对电流不感兴趣,至少对您的实际身体不感兴趣,这就是为什么电流通过塑料或玻璃绝缘子起作用的原因。它通常通过以恒定电流和时间为它们充电,然后测量所得电压,来测量多个传感器上的电容。

它记录了电容的变化,因为您的身体可以充当电容器的一半,或者更简单地通过增加电容来工作...因为它可以直接接触,即不能用作理想的电容器...

在典型设置中,只需要增加几个pF。


实际上,几nF就是巨大的电容。这些值通常为几pF,有时为几百fF。您至少偏离了三个数量级。
奥林·拉斯洛普

@Olin Lathrop,也许我是……我将不得不回到微芯片的ctmu文档,那是我以为我从中得到数据的地方。
Grady Player

是的,我发现的示例给出了7pF的电容,但我离得很远。
Grady Player


3

我意识到我迟到了,但这个答案可能对将来的观众有用。这也将不在主题之列,因为它与堆栈溢出或超级用户相关性更高,而与EE相关性则更少。听起来您似乎也最在乎与触摸屏的接口,而您并不专注于当前的方法。

我还要假设您拥有Android设备。

为您方便(看到您是一名程序员),一个更好的界面是使用Android Debug Bridge模拟触摸屏的按下,滑动,返回和主键按下。

基本上,您的主要目标是使ADB正常运行。在线上有很多资源,因此在此不再赘述。您需要下载Android SDK才能获取它。

此后,使用命令提示符将ADB命令发送到您的设备。

像这样的命令:

adb shell input tap x y

以“ x”和“ y”作为像素位置将按屏幕。


1
这是一个非常有趣的主意。您说得对,没用,但是确实提供了一种实现最终目标的方法...顺便说一句,我最终使用了带有音量控制的耳机,然后让我的应用程序对音量做出反应/降低音量/播放/暂停关键事件。.给我和设备之间几英尺的距离,给我更多选择,而不仅仅是单击...
Jeff Ryan

input tap似乎无法与亚行于Android工作室6
托马斯·韦勒
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.