Comment utiliser un écran tactile capacitif sans main humaine


25

Je suis un programmeur, et je traîne habituellement sur le débordement de la pile, mais j'ai une question d'électricité.

J'essaie d'interagir avec une APP sur mon téléphone en touchant indirectement l'écran. Les écrans tactiles modernes, comme je suis sûr que tout le monde ici sait sont capacitifs plutôt que résistifs, ce qui signifie que je devrais pouvoir interagir avec lui tant que je peux apporter un petit courant à l'écran où je veux toucher.

J'expérimente en utilisant un câble de haut-parleur et quelques autres fils que j'ai autour de la maison pour voir à quelle distance je peux être et toujours passer suffisamment de courant à travers le fil pour enregistrer une touche sur l'écran, en fonction de ma distance et de la taille et qualité du fil.

Ce que je trouve cependant, c'est que toucher le fil à l'écran semble enregistrer un toucher même sans que je touche le fil. Y a-t-il déjà un fil intérieur à l'intérieur? Est-ce le type de fil que j'utilise? J'avais l'impression qu'un fil à lui seul n'avait pas de courant et ne passait l'électricité que lorsqu'il y avait une source extérieure.

Puis-je faire quelque chose pour décharger le fil ou le bloquer d'une manière ou d'une autre?


Merci à tous de m'avoir fait savoir comment fonctionnent exactement les écrans tactiles capacitifs. J'avais mal dans la tête.

Le problème que j'essaie de résoudre est que je veux interagir avec mon téléphone via son écran tactile à distance. Y a-t-il du matériel que je peux utiliser pour attacher à l'écran de mon téléphone qui étendra essentiellement l'écran tactile là où je suis? Je ne serai qu'à quelques mètres hors de portée, et cela n'a pas besoin d'être sophistiqué, détecte simplement un événement tactile.

Je me rends compte que cela pourrait être une question étrange, donc si je n'obtiens aucune réponse à cela, je choisirai toujours une réponse ci-dessous, j'ai déjà beaucoup appris de cette question.


J'ai personnellement aimé ce document pour comprendre un peu plus la technologie tactile capacitive: ti.com/lit/an/slaa363a/slaa363a.pdf
jippie

Merci. Ça aide beaucoup. Si je comprends bien, l'appareil a un champ électrique autour des différents pads de capteur, et il détecte les interférences. L'interférence survient lorsqu'un objet se déplace dans le champ et prend une partie de la charge car il est conducteur. L'appareil a reconnu une quantité d'électricité inférieure, il sait donc que quelque chose le touche. Est-ce que c'est correct?
Jeff Ryan

Non, pas vraiment, c'est plus comme le fonctionnement d'un theremin. Voir peut-être youtube.com/watch?v=JVRuDY4X88M&sns=em
Grady Player

Merci à tous pour votre aide. Chaque réponse m'a été très utile. Je suis allé le plus loin avec Olin, alors j'ai choisi sa réponse, mais merci à tout le monde aussi.
Jeff Ryan

L'interaction avec les machines informatiques à distance est résolue par le traitement d'image de la vidéo en temps réel pour lire la position du corps humain et des membres. Vous pouvez contrôler la position d'un curseur sur l'écran avec des gestes et générer des événements comme des clics de souris. Voir Kinect de Microsoft par exemple.
Kaz

Réponses:


8

cela signifie donc que je devrais pouvoir interagir avec lui tant que je peux apporter un petit courant à l'écran où je veux toucher.

Non. Vous n'apportez pas de courant à l'appareil. Ces appareils mesurent la capacité, pas le courant ou la tension. La capacité supplémentaire à travers votre corps vers la masse ambiante ou de circuit est détectée en examinant comment le coussin capacitif répond à certains signaux spécifiquement choisis.


Ah ok. Mon ignorance sur ces questions se manifeste clairement. Ainsi, au lieu du courant d'électricité entrant dans l'appareil, vous semblez suggérer que l'appareil détecte quand quelque chose qui le touche peut recevoir un courant. Je ne sais pas si j'utilise correctement la terminologie, mais l'idée est que la direction coule de l'appareil vers moi, et non l'inverse. Est-ce exact?
Jeff Ryan

2
@Jeff: Oui, en quelque sorte. La direction logique est que l'appareil recherche activement la présence de quelque chose. Le quelque chose est purement passif.
Olin Lathrop

Peut-être que cela aurait plus de sens si l'op voyait le même circuit fonctionner comme un détecteur de proximité?
Grady Player

D'accord. J'essaie de comprendre ça. Si je place un sou sur mon écran tactile et que je le déplace avec un stylo en plastique, rien ne se passe. Mais quand je touche ce sou avec mon doigt et le déplace, l'écran réagit. Est-ce à dire que d'une manière ou d'une autre un centime n'est pas conducteur jusqu'à ce que je le touche?
Jeff Ryan

2
@Jeff: Non, cela signifie que le sou en lui-même n'a pas assez de capacité ailleurs jusqu'à ce que vous le touchiez. Il est beaucoup conducteur, mais cela n'a pas beaucoup d'importance car nous ne détectons pas la conductivité. Votre corps est moins conducteur que le sou, mais beaucoup plus grand et donc plus susceptible d'avoir un niveau minimum de couplage capacitif de retour à la référence de masse du circuit. C'est ce couplage capacitif à la masse que le circuit recherche.
Olin Lathrop

26

Je résiste généralement aux analogies, mais puisque vous êtes un gars exclusivement logiciel et que tout le monde insiste pour vous parler de capacité, je vais aller pour l'histoire.

Imaginez que vous tirez des boules de peinture sur un mur. Partout où vous frappez le mur, il y a une tache de peinture. Sauf qu'il y a un endroit où vous tirez, et quand la peinture le frappe, cela fait une petite marque mais sinon la peinture disparaît. Lorsque vous enquêtez, vous constatez que quelqu'un a attaché un dispositif d'aspiration à l'autre côté du mur, et puisque le panneau mural est en papier, il est capable de tirer la peinture à travers.

Le mécanisme du téléphone fait la même chose. Il entraîne un tas d'électrons à l'arrière du verre. Normalement, cela peut alors être observé comme une augmentation de tension. Mais à l'endroit où votre doigt touche, la charge est absorbée par votre doigt et la tension à cet endroit sera considérablement réduite. Comment cela fonctionne à travers le verre a à voir avec le fait que les charges s'attirent et se repoussent, mais vous n'êtes pas venu ici pour apprendre l'électronique, nous serons donc heureux de cette explication.

Vous pouvez peut-être voir qu'un centime placé sur l'écran ne prélève pas suffisamment de charge pour être enregistré par les circuits tactiles, mais si ce centime est connecté à quelque chose de plus grand, comme vous, maintenant, suffisamment de charge est prélevée pour être détectée. Cela ressemble plutôt au comportement de l'électricité statique, plutôt qu'aux circuits classiques impliquant des batteries, des fils, des résistances et des ampoules.

[Modifier, pour répondre: "Que puis-je faire ..."] croquis d'un téléphone avec un fil de détection commuté attaché

Je ne sais pas si quelque chose comme ça peut fonctionner, mais l'objectif est de pouvoir simuler un toucher en reliant le fil sur l'écran au système de masse du téléphone. La mise à la terre (effectuée en posant le téléphone sur une plaque ou une feuille métallique) est également capacitive et équivaut à tenir le téléphone dans votre main. L'idée est que le commutateur à transistor peut déconnecter le fil court sur l'écran et qu'il n'y aurait pas assez de couplage capacitif avec le circuit de contrôle (l'ordinateur à partir duquel vous alliez générer des événements tactiles) pour le déclencher lorsqu'il était censé être éteint. L'activation du transistor connecterait le fil à la plaque de masse et devrait alors générer un événement tactile dans le téléphone.

[Edit: Un associé dit que la capacité parasite du FET serait encore trop pour laisser cela fonctionner. Cependant, cela ne coûte rien d'essayer.]

[Modifier: Cette partie de la réponse est en réponse au commentaire trouvé ci-dessous]

Il ne s'agit pas de la masse; il s'agit de la surface. Une feuille de papier d'aluminium peut contenir plus de charge qu'un centime, même si elle pèse moins. Pour un morceau de fil, c'est plutôt la longueur. Il est également important de savoir si ce fil est attaché à quoi que ce soit. Si vous le tenez dans votre main, le fil et votre corps sont dans l'équation. Votre corps est aussi bon qu'un morceau de métal, dans cette expérience. Et tout métal, que ce soit le cuivre, le nickel, l'aluminium ou l'acier fonctionnera. La seule exigence est qu'elle conduise l'électricité.

Soit dit en passant, je viens d'essayer quelques objets métalliques sur mon téléphone, et je suis surpris que vous obteniez autant de réponse du fil. Un sou ne fait rien à moins que je le touche avec mon doigt. Si je tiens un quart de ma main et touche le bord de l'écran, je ne reçois rien. Deux ne le fait pas non plus. Trois, empilés latéralement fournissent suffisamment de contact pour affecter l'écran. Ensuite, j'ai essayé un trombone, tenu dans ma main. Il ne répondrait pas si l'extrémité arrondie était touchée à l'écran. J'ai dû le tenir longtemps et toucher le côté pour obtenir une réaction. Une barre métallique posée sur l'extrémité n'a pas affecté l'écran, mais toucher l'extrémité opposée avec mon doigt l'a fait réagir.

[Edit: @toolbear pose des questions sur le "terrain"]

La tension est la différence entre deux potentiels. La chose qui mesure la tension sur l'écran (et en fin de compte recherche l'effet de votre doigt) a une connexion à cet écran et l'autre à une référence qui sera presque certainement le sol à l'intérieur du téléphone. Cette "masse" est une connexion commune à l'ensemble du téléphone et probablement à ses parties métalliques. L'idée est que lorsque vous tenez le téléphone dans votre main, il y a un couplage capacitif entre votre main et le sol à l'intérieur du téléphone. Quant aux diverses conjectures autour de la Terre, elles peuvent fonctionner parce que tout finira par se coupler capacitivement au téléphone dans une certaine mesure. Et comme pour "un objet capacitif non mis à la terre avec une surface suffisante", eh bien c'est exactement ce qui est montré dans l'illustration comme une plaque sous le téléphone.

Le chargeur ou la connexion USB pourrait bien fournir une connexion à la terre dans le téléphone, mais ce n'est pas garanti. Ouvrir le téléphone pour y accéder fonctionnerait, mais cela aurait un caractère pratique limité pour toute application d'utilisateur final.


Salut. Votre réponse est très utile. Si vous avez envie de continuer à expliquer ce phénomène, pouvez-vous expliquer pourquoi un sou a besoin d'une plus grande masse pour pouvoir retirer suffisamment de charge pour enregistrer un clic, mais un fil de haut-parleur mince enlève suffisamment de charge à lui seul? J'imagine que la masse totale de fil est la même. Étant donné que les dimes sont principalement en nickel, ne devrais-je pas être en mesure d'utiliser du fil de nickel pour attacher la face du téléphone et toucher avec ma main à distance et obtenir essentiellement le même effet que de toucher le dime sur l'écran?
Jeff Ryan

Ceci est une réponse étonnante.
j03m

Cette analogie a aidé à combler le fossé dans la compréhension de mon profane.
toolbear

Pourriez-vous nous en dire plus sur le "système au sol" du circuit? Vous proposez la mise à la terre sur une plaque sous l'appareil, mais on peut la mettre à la "terre" que j'interprète comme le sol sous mes pieds. De plus, le terrain est-il nécessaire ou est-ce juste utile? Un objet capacitif non mis à la terre avec une surface suffisante fonctionnerait-il également?
toolbear

Très intéressant. Disons que j'attache un condensateur de 10µF à la pièce pour augmenter la capacité et que je mets les deux côtés à la terre via le transistor, cela fonctionnerait-il mieux? Sinon, pourrais-je placer la pièce sur l'écran tactile, ajouter un relais entre la pièce et le condensateur, puis déclencher la capacité via le relais? Je suppose qu'il est temps de faire quelques expériences :-)
Thomas Weller

4

Ils ne sont fondamentalement pas intéressés par un flux de courant, du moins pas par votre corps réel, c'est pourquoi il fonctionne à travers un isolant en plastique ou en verre. Il mesure la capacité de plusieurs capteurs, généralement en les chargeant avec un courant et un temps constants, puis en mesurant la tension résultante.

Il enregistre un changement de capacité car votre corps fonctionne pour agir comme la moitié d'un condensateur, ou plus simplement en ajoutant de la capacité ... Parce qu'il peut fonctionner en contact direct, c'est-à-dire pas comme un condensateur idéal ...

Dans une configuration typique, il suffit d'ajouter quelques pF.


En fait, quelques nF seraient une capacité énorme . Ces choses mesurent généralement quelques pF, parfois 100s de fF. Vous vous éloignez d'au moins trois ordres de grandeur.
Olin Lathrop

@Olin Lathrop, peut-être que je le suis ... Je vais devoir revenir à la documentation ctmu de microchip, c'est là que je pensais avoir obtenu mes chiffres.
Grady Player

Oui, l'exemple que j'ai trouvé a donné une capacité de 7pF, j'étais loin.
Grady Player

3

En fait, les écrans tactiles capacitifs n'ont pas besoin d'être touchés par un corps qui peut générer du courant, ils détectent plutôt lorsqu'ils sont contactés par un conducteur (voir l' article de wikipedia sur la détection capacitive ). Le fil étant un conducteur prototypique, vous n'avez pas besoin de le toucher pour l'utiliser comme un stylet de fortune.


3

Je me rends compte que je suis en retard à cela, mais peut-être que cette réponse peut être utile aux futurs téléspectateurs. Ce sera également hors sujet car il est plus lié à Stack-Overflow ou Super User et moins lié à EE. Il semble également que vous vous souciez surtout d'avoir une interface avec l'écran tactile et que vous n'êtes pas dédié à votre méthode actuelle.

Je vais également supposer que vous disposez d'un appareil Android.

Idéalement pour vous (vu que vous êtes un programmeur), une interface nettement meilleure utilise le pont de débogage Android pour simuler les pressions sur l'écran tactile, les balayages, les pressions de retour et les touches d'accueil.

Fondamentalement, votre objectif principal est de faire fonctionner la BAD. Il y a beaucoup de ressources en ligne donc je ne l'expliquerai pas ici. Vous devrez télécharger le SDK Android pour l'obtenir.

Après cela, utilisez une invite de commande pour envoyer des commandes ADB à votre appareil.

Des commandes comme:

adb shell input tap x y

Avec 'x' et 'y' comme emplacement de pixel, vous appuyez sur l'écran.


1
Ceci est une idée vraiment intéressante .. Vous avez raison, c'est hors sujet, mais offre un moyen d'atteindre mon objectif final ... Par ailleurs, j'ai fini par utiliser des écouteurs avec des contrôles de volume, puis faire réagir mon application au volume en hausse / volume bas / lecture / pause des événements clés .. m'a donné quelques mètres de distance entre moi et l'appareil, et m'a donné plus d'options qu'un simple clic ...
Jeff Ryan

input tapne semble pas disponible avec ADB sur Android Studio 6.
Thomas Weller
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.