Como usar uma tela de toque capacitivo sem uma mão humana


25

Sou programador e costumo sair com excesso de pilha, mas tenho uma pergunta sobre eletricidade.

Estou tentando interagir com um aplicativo no meu telefone tocando indiretamente na tela. Telas sensíveis ao toque modernas, como tenho certeza de que todos aqui sabem que são capacitivos, e não resistivos, o que significa que eu devo poder interagir com ela desde que consiga trazer uma pequena corrente para a tela onde quero tocar.

Estou experimentando usar um cabo de alto-falante e alguns outros fios que tenho espalhados pela casa para ver a que distância posso estar e ainda passar corrente suficiente pelo fio para registrar um toque na tela, com base na minha distância e no tamanho e qualidade do fio.

O que estou descobrindo, porém, é que tocar o fio na tela parece registrar um toque mesmo sem eu tocar no fio. Então, já existe uma corrente dentro do fio? É o tipo de fio que estou usando? Fiquei com a impressão de que um fio por si só não tinha corrente e só passa eletricidade quando há uma fonte externa.

Existe algo que eu possa fazer para descarregar o fio ou bloqueá-lo de alguma forma?


Obrigado a todos por me informarem exatamente como as telas sensíveis ao toque capacitivas funcionam. Eu estava errado na minha cabeça.

O problema que estou tentando resolver é que quero interagir com meu telefone através da tela sensível ao toque à distância. Existe algum material que eu possa usar para anexar à tela do meu telefone que essencialmente estenda a tela sensível ao toque para onde estou? Estarei a apenas alguns metros de distância e não precisa ser extravagante, apenas basicamente detecte um evento de toque.

Sei que pode ser uma pergunta estranha, por isso, se eu não receber respostas para isso, ainda vou escolher uma resposta abaixo, já aprendi muito com essa pergunta.


Eu, pessoalmente, gostei este documento para entender um pouco mais sobre a tecnologia de toque capacitivo: ti.com/lit/an/slaa363a/slaa363a.pdf
jippie

Obrigado. Isso ajuda muito. Se entendi direito, o dispositivo possui um campo elétrico ao redor dos vários sensores e detecta interferências. A interferência ocorre quando um objeto se move para o campo e leva parte da carga por ser condutora. O dispositivo reconheceu uma quantidade menor de eletricidade para saber que algo está tocando nele. Isso é correto?
Jeff Ryan

Não, na verdade, é mais assim que um theremin funciona. Talvez ver youtube.com/watch?v=JVRuDY4X88M&sns=em
Grady Jogador

Obrigado a todos por sua ajuda. Cada resposta foi super útil para mim. Eu voltei com Olin mais, então escolhi sua resposta, mas obrigado a todos os outros também.
Jeff Ryan

A interação com máquinas de computação à distância é resolvida pelo processamento de imagens de vídeo em tempo real para ler a posição do corpo e dos membros humanos. Você pode controlar a posição de um cursor na tela com gestos e gerar eventos como cliques do mouse. Veja o Kinect da Microsoft, por exemplo.
Kaz

Respostas:


8

então isso significa que eu devo poder interagir com ela desde que eu possa trazer uma pequena corrente para a tela em que quero tocar.

Não. Você não "traz" corrente ao dispositivo. Esses dispositivos medem capacitância, não corrente ou tensão. A capacitância adicional através do seu corpo de volta ao ambiente ou ao terra do circuito é detectada observando como o painel capacitivo responde a alguns sinais especificamente escolhidos.


Ah ok. Minha ignorância sobre esses assuntos está claramente aparecendo. Portanto, em vez de a corrente elétrica entrar no dispositivo, você parece sugerir que o dispositivo detecte quando algo que o toca pode receber uma corrente. Não sei se estou usando a terminologia corretamente, mas a idéia é que a direção flua do dispositivo para mim, e não o contrário. Isso está correto?
Jeff Ryan

2
@ Jeff: Sim, mais ou menos. A direção lógica é que o dispositivo esteja procurando ativamente a presença de algo. O algo é puramente passivo.
Olin Lathrop

Talvez faria mais sentido se o op visse o mesmo circuito funcionar como um detector de proximidade?
Grady Player

Está bem. Estou tentando entender isso. Se eu colocar um centavo na minha tela sensível ao toque e movê-lo com uma caneta plástica, nada acontece. Mas quando toco a moeda com o dedo e a movo, a tela reage. Isso significa que, de alguma forma, uma moeda de dez centavos não é condutora até que eu a toque?
Jeff Ryan

2
@ Jeff: Não, isso significa que a moeda de dez centavos por si só não tem capacidade suficiente para outro lugar até que você a toque. É bastante condutor, mas isso não importa muito, pois não estamos sentindo a condutividade. Seu corpo é menos condutor do que a moeda de dez centavos, mas muito maior e, portanto, mais propenso a ter algum nível mínimo de acoplamento capacitivo de volta à referência de terra do circuito. É esse acoplamento capacitivo de volta ao terra que o circuito está procurando.
precisa saber é o seguinte

26

Eu geralmente resisto a analogias, mas como você é apenas um cara de software e como todo mundo insiste em falar com você sobre capacitância, vou seguir a história.

Imagine que você está atirando bolas de tinta contra uma parede. Em todo lugar que você bate na parede, há um pouco de tinta. Exceto que há um lugar em que você dispara e, quando a tinta atinge, deixa uma pequena marca, mas, caso contrário, a tinta simplesmente desaparece. Quando você investiga, descobre que alguém anexou um dispositivo de sucção ao outro lado da parede e, como o papel é um papel, é capaz de desenhar a tinta diretamente através dele.

O mecanismo do telefone está fazendo uma coisa semelhante. Ele aciona um monte de elétrons na parte traseira do vidro. Normalmente, isso pode ser observado como um aumento na tensão. Mas no local em que seu dedo está tocando, a carga é absorvida pelo dedo e a tensão nesse local será significativamente reduzida. O modo como funciona através do vidro tem a ver com o fato de as cobranças se atraírem e se repelirem, mas você não veio aqui para aprender eletrônica, então ficaremos felizes com essa explicação.

Talvez você possa ver que uma moeda de dez centavos colocada na tela não gasta carga suficiente para ser registrada pelos circuitos de toque, mas se essa moeda de dez centavos estiver conectada a algo maior, como você, agora uma carga suficiente será retirada para ser detectada. Isso é mais parecido com o comportamento da eletricidade estática do que com os circuitos clássicos que envolvem baterias, fios, resistores e lâmpadas.

[Editar, para abordar, "O que posso fazer ..."] esboço de um telefone com um fio sensor conectado

Não sei se algo assim pode funcionar, mas o objetivo é simular um toque acoplando o fio sobre a tela ao sistema de aterramento do telefone. O aterramento (feito colocando o telefone em uma placa ou folha de metal) também é capacitivo e é o equivalente a segurar o telefone na mão. A idéia é que o comutador transistor possa desconectar o fio curto da tela e que não haja acoplamento capacitivo suficiente de volta ao circuito de controle (o computador do qual você tentaria gerar eventos de toque) para dispará-lo quando deveria estar desligado. Ligar o transistor conectaria o fio à placa de aterramento e, em seguida, geraria um evento de toque no telefone.

[Edit: Um associado diz que a capacitância perdida do FET ainda seria demais para permitir que isso funcionasse. No entanto, não custa nada para tentar.]

[Editar: Esta parte da resposta está em resposta ao comentário encontrado abaixo]

Não é sobre a massa; é sobre a área da superfície. Uma folha de papel alumínio pode suportar mais carga do que uma moeda de dez centavos, mesmo que pesa menos. Para um pedaço de fio, é mais sobre o comprimento. Igualmente importante é se esse fio está ligado a alguma coisa. Se você o estiver segurando na mão, o fio e o corpo estarão na equação. Seu corpo é tão bom quanto um pedaço de metal, neste experimento. E qualquer metal, seja cobre, níquel, alumínio ou aço, funcionará. O único requisito é que ele conduza eletricidade.

Aliás, tentei apenas alguns objetos de metal no meu telefone e estou surpreso que você esteja recebendo tanta resposta do fio. Uma moeda de dez centavos não faz nada, a menos que eu a toque com o dedo. Se eu segurar um quarto na minha mão e tocar a borda da tela, não recebo nada. Dois também não fazem isso. Três, empilhados lateralmente fornecem contato suficiente para afetar a tela. Em seguida, tentei um clipe de papel na mão. Não responderia se a extremidade arredondada fosse tocada na tela. Eu tive que segurar o caminho longo e tocar o lado para obter uma reação. Uma barra de metal na ponta não afetou a tela, mas tocar a extremidade oposta com o meu dedo fez com que ela reagisse.

[Edit: @toolbear pergunta sobre o "solo"]

Tensão é a diferença entre dois potenciais. O que mede a voltagem na tela (e, finalmente, procura o efeito do seu dedo) tem uma conexão com essa tela e a outra com uma referência que quase certamente será o solo dentro do telefone. Esse "terra" é uma conexão comum em todo o telefone e provavelmente em suas partes metálicas. A idéia é que, quando você segura o telefone na mão, há um acoplamento capacitivo entre a mão e o solo dentro do telefone. Quanto a várias conjecturas sobre o solo terrestre, elas podem funcionar porque, em última instância, tudo se acoplará capacitivamente ao telefone. E quanto a "um objeto capacitivo não aterrado, com área de superfície suficiente", bem, é exatamente isso que é mostrado na ilustração como uma placa embaixo do telefone.

O carregador ou a conexão USB pode fornecer uma conexão de aterramento ao telefone, mas isso não é garantido. Abrir o telefone para acessá-lo funcionaria, mas isso teria praticidade limitada quando se tratasse de qualquer aplicativo do usuário final.


Oi. Você responde é muito útil. Se você deseja continuar explicando esse fenômeno, pode explicar por que uma moeda de dez centavos precisa de um terreno maior para poder extrair carga suficiente para registrar um clique, mas o fio fino do alto-falante retira carga suficiente por conta própria? Eu imagino que a massa total de fio seja a mesma. Como as moedas de dez centavos são feitas principalmente de níquel, eu não deveria poder usar o fio de níquel para fixar o rosto ao telefone e tocar com a mão à distância e, essencialmente, obter o mesmo efeito que tocar a moeda na tela?
Jeff Ryan

Esta é uma resposta incrível.
J03m

Essa analogia ajudou a preencher a lacuna no entendimento de meu leigo.
toolbear

Você elaboraria mais sobre o "sistema de aterramento" do circuito? Você sugere o aterramento em uma placa sob o dispositivo, mas pode-se aterrar no "solo", que eu interpreto como o solo sob meus pés. Além disso, o terreno é necessário ou apenas ajuda? Um objeto não aterrado e capacitivo com área de superfície suficiente também funcionaria?
toolbear

Muito interessante. Digamos que conecte um capacitor de 10µF à moeda para aumentar a capacidade e aterrei os dois lados pelo transistor, isso funcionaria melhor? Como alternativa, eu poderia colocar a moeda na tela de toque, adicionar um relé entre a moeda e o capacitor e acionar a capacidade através do relé? Eu acho que é hora de algumas experiências :-)
Thomas Weller

4

Eles basicamente não estão interessados ​​em um fluxo de corrente, pelo menos não do seu corpo real, é por isso que funciona através de um isolador de plástico ou vidro. Ele mede a capacitância em vários sensores, geralmente carregando-os com uma corrente e tempo constantes e medindo a tensão resultante.

Ele registra uma alteração de capacitância porque seu corpo trabalha para atuar como metade de um capacitor, ou mais simplesmente adicionando capacitância ... Porque ele pode trabalhar em contato direto, ou seja, não como um capacitor ideal ...

Em uma configuração típica, é necessário adicionar apenas alguns pF.


Na verdade, algumas nF seriam uma capacitância enorme . Essas coisas geralmente medem alguns pF, às vezes 100s de fF. Você está fora por pelo menos três ordens de magnitude.
Olin Lathrop

@Olin Lathrop, talvez eu esteja ... terei que voltar à documentação do ctmu do microchip, foi de onde achei que obtive meus números.
Grady Player

Sim, o exemplo que encontrei deu uma capacitância de 7pF, eu estava muito longe.
Grady Player

3

Na verdade, as telas sensíveis ao toque capacitivas não precisam ser tocadas por um corpo que possa gerar corrente; elas são detectadas quando contatadas por qualquer condutor (consulte o artigo da wikipedia sobre detecção capacitiva ). Como o fio é um condutor prototípico, não é necessário tocá-lo para usá-lo como uma caneta improvisada.


3

Sei que estou atrasado para isso, mas talvez essa resposta possa ser útil para futuros espectadores. Isso também estará fora de tópico, pois é mais relacionado ao Stack Overflow ou Superusuário e menos relacionado a EE. Também parece que você se preocupa principalmente em ter uma interface para a tela de toque e não é dedicado ao seu método atual.

Também vou assumir que você tem um dispositivo Android.

Convenientemente para você (como você é um programador), uma interface significativamente melhor está usando o Android Debug Bridge para simular pressionamentos de tela sensível ao toque, furtos, pressionamentos de teclas voltar e home.

Basicamente, seu principal objetivo é obter o funcionamento do ADB. Há muitos recursos online, então não vou explicar aqui. Você precisará fazer o download do SDK do Android para obtê-lo.

Depois disso, use um prompt de comando para enviar comandos ADB para o seu dispositivo.

Comandos como:

adb shell input tap x y

Com 'x' e 'y', a localização do pixel pressionará a tela.


11
Essa é uma ideia realmente interessante. Você está certo, não é o assunto, mas oferece uma maneira de alcançar meu objetivo final ... Aliás, acabei usando fones de ouvido com controles de volume e fazendo meu aplicativo reagir ao aumento de volume. / volume baixo / play / pause principais eventos .. deu-me alguns pés de distância entre mim e o dispositivo, e deu os meus mais opções do que apenas um único clique ...
Jeff Ryan

input tapparece não estar disponível no ADB no Android Studio 6. #
Thomas Weller
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.