Come utilizzare un touchscreen capacitivo senza una mano umana


25

Sono un programmatore e di solito esco in overflow dello stack, ma ho una domanda sull'elettricità.

Sto cercando di interagire con un'APP sul mio telefono toccando indirettamente lo schermo. I touchscreen moderni, poiché sono sicuro che tutti qui sanno che sono capacitivi piuttosto che resistivi, quindi ciò significa che dovrei essere in grado di interagire con esso finché posso portare una piccola corrente sullo schermo dove voglio toccare.

Sto sperimentando l'utilizzo di un cavo per altoparlanti e un paio di altri cavi che ho posato in giro per casa per vedere quanto posso essere lontano e ancora passare abbastanza corrente attraverso il cavo per registrare un tocco sullo schermo, in base alla mia distanza e al dimensione e qualità del filo.

Quello che sto scoprendo è che toccare il filo con lo schermo sembra registrare un tocco anche senza che io tocchi il filo. Quindi c'è già un filo interno di corrente? È il tipo di filo che sto usando? Avevo l'impressione che un filo da solo non avesse corrente e passasse l'elettricità solo quando c'è una fonte esterna.

C'è qualcosa che posso fare per scaricare il cavo o bloccarlo in qualche modo?


Grazie a tutti per avermi fatto sapere come funzionano esattamente i touchscreen capacitivi. Ho sbagliato nella mia testa.

Il problema che sto cercando di risolvere è che voglio interagire con il mio telefono attraverso il suo touchscreen a distanza. Esiste un materiale che posso utilizzare per collegare allo schermo del mio telefono che estenderà essenzialmente il touchscreen al punto in cui mi trovo? Sarò solo a pochi metri di distanza, e non è necessario che sia elegante, basterà rilevare un evento tattile.

Mi rendo conto che potrebbe essere una domanda strana, quindi se non ricevo alcuna risposta a questa scelta sceglierò comunque una risposta di seguito, ho già imparato molto da questa domanda.


Personalmente mi è piaciuto questo documento per capire qualcosa in più sulla tecnologia touch capacitiva: ti.com/lit/an/slaa363a/slaa363a.pdf
jippie

Grazie. Questo aiuta molto. Se lo capisco correttamente, il dispositivo ha un campo elettrico attorno ai vari pad del sensore e rileva interferenze. L'interferenza arriva quando un oggetto si sposta nel campo e prende parte della carica perché è conduttiva. Il dispositivo ha riconosciuto una quantità inferiore di elettricità, quindi sa che qualcosa lo sta toccando. È corretto?
Jeff Ryan,

No, non proprio, è più simile a come funziona un theremin. Forse vedi youtube.com/watch?v=JVRuDY4X88M&sns=em
Grady Player

Grazie a tutti per il vostro aiuto. Ogni risposta mi è stata di grande aiuto. Sono andato avanti e indietro con Olin, quindi ho scelto la sua risposta, ma grazie anche a tutti gli altri.
Jeff Ryan,

L'interazione con le macchine informatiche a distanza è risolta dall'elaborazione delle immagini di video in tempo reale per leggere la posizione del corpo umano e degli arti. Puoi controllare la posizione di un cursore sullo schermo con gesti e generare eventi come i clic del mouse. Vedi Microsoft Kinect per esempio.
Kaz

Risposte:


8

quindi ciò significa che dovrei essere in grado di interagire con esso finché posso portare una piccola corrente sullo schermo dove voglio toccare.

No. Non devi "portare" corrente sul dispositivo. Questi dispositivi misurano la capacità, non la corrente o la tensione. La capacità aggiuntiva attraverso il tuo corpo di nuovo a terra ambiente o del circuito viene rilevata osservando come il pad capacitivo risponde ad alcuni segnali appositamente scelti.


Ah ok. La mia ignoranza su questi argomenti sta chiaramente dimostrando. Quindi, invece della corrente elettrica che entra nel dispositivo, sembra che il dispositivo rilevi quando qualcosa che lo tocca può ricevere una corrente. Non so se sto usando correttamente la terminologia, ma l'idea è che la direzione fluisca dal dispositivo verso di me, non viceversa. È corretto?
Jeff Ryan,

2
@Jeff: Sì, sortof. La direzione logica è che il dispositivo sta attivamente cercando la presenza di qualcosa. Il qualcosa è puramente passivo.
Olin Lathrop

Forse avrebbe più senso se l'op op vedesse lo stesso circuito funzionare come un rilevatore di prossimità?
Grady Player

Ok. Sto cercando di capirlo. Se metto un centesimo sul mio touchscreen e lo muovo con una penna di plastica, non succede nulla. Ma quando tocco quel centesimo con il dito e lo muovo, lo schermo reagisce. Ciò significa che in qualche modo un centesimo non è conduttivo finché non lo tocco?
Jeff Ryan,

2
@Jeff: No, significa che il centesimo da solo non ha abbastanza capacità per altrove fino a quando non lo tocchi. È molto conduttivo, ma non importa molto poiché non stiamo rilevando la conduttività. Il tuo corpo è meno conduttivo rispetto al centesimo, ma molto più grande e quindi ha maggiori probabilità di avere un livello minimo di accoppiamento capacitivo al riferimento di massa del circuito. È questo accoppiamento capacitivo a terra che il circuito sta cercando.
Olin Lathrop

26

In genere resisto alle analogie, ma dal momento che sei un ragazzo solo software, e poiché tutti gli altri insistono nel parlarti della capacità, vado per la storia.

Immagina di sparare palle di vernice contro un muro. Ovunque colpisci il muro, c'è una macchia di vernice. Tranne il fatto che c'è un posto in cui sparate e quando la vernice la colpisce, lascia un piccolo segno, ma altrimenti la vernice scompare. Quando indaghi, scopri che qualcuno ha attaccato un dispositivo di aspirazione all'altro lato del muro e, dato che il wallboard è di carta, è in grado di disegnare la vernice attraverso di esso.

Il meccanismo nel telefono sta facendo una cosa simile. Guida un gruppo di elettroni sul retro del vetro. Normalmente questo può quindi essere osservato come un aumento di tensione. Ma nel punto in cui il dito si tocca, la carica viene assorbita dal dito e la tensione in quella posizione verrà notevolmente ridotta. Il modo in cui funziona attraverso il vetro ha a che fare con il fatto che le cariche si attraggono e si respingono a vicenda, ma non sei venuto qui per imparare l'elettronica, quindi saremo solo contenti di questa spiegazione.

Forse puoi vedere che un centesimo posto sullo schermo non consuma abbastanza carica per essere registrato dai circuiti tattili, ma se quel centesimo è collegato a qualcosa di più grande, come te, ora viene prelevata abbastanza carica per essere rilevata. Questo è piuttosto simile al comportamento dell'elettricità statica, piuttosto che ai circuiti classici che coinvolgono batterie, fili, resistori e lampadine.

[Modifica, per indirizzare "Cosa posso fare ..."] schizzo di un telefono con un cavo di rilevamento collegato

Non so se si possa far funzionare qualcosa del genere, ma l'obiettivo è quello di essere in grado di simulare un tocco accoppiando il filo sullo schermo al sistema di terra del telefono. Anche la messa a terra (eseguita posando il telefono su una piastra o un foglio di metallo) è capacitiva ed equivale a tenere il telefono in mano. L'idea è che l'interruttore a transistor può scollegare il cavo corto sullo schermo e che non ci sarebbe abbastanza accoppiamento capacitivo al circuito di controllo (il computer dal quale avresti tentato di generare eventi di contatto) per far scattare lo stesso quando doveva essere spento. L'accensione del transistor collegherebbe il cavo alla piastra di terra e dovrebbe quindi generare un evento touch nel telefono.

[Modifica: un associato afferma che la capacità parassita del FET sarebbe ancora troppo per permettere a questo di funzionare. Tuttavia, non costa nulla da provare.]

[Modifica: questa parte della risposta è in risposta al commento trovato sotto]

Non si tratta della massa; riguarda la superficie. Un foglio di alluminio può contenere più carica di una monetina, anche se pesa meno. Per un pezzo di filo, si tratta più della lunghezza. Altrettanto importante è se quel filo è attaccato a qualcosa. Se lo tieni in mano, allora il filo più il tuo corpo è nell'equazione. Il tuo corpo è buono come un pezzo di metallo, in questo esperimento. E qualsiasi metallo, che sia rame, nichel, alluminio o acciaio funzionerà. L'unico requisito è che conduce l'elettricità.

Per inciso, ho appena provato alcuni oggetti metallici sul mio telefono e sono sorpreso che tu stia ricevendo così tanta risposta dal filo. Un centesimo non fa nulla a meno che non lo tocchi con un dito. Se tengo un quarto in mano e tocco il bordo dello schermo, non ottengo nulla. Neanche due lo fanno. Tre, impilati lateralmente forniscono un contatto sufficiente per influenzare lo schermo. Successivamente, ho provato una graffetta, tenuta in mano. Non risponderebbe se l'estremità arrotondata fosse toccata sullo schermo. Ho dovuto tenerlo a lungo e toccare il lato per ottenere una reazione. Una barra di metallo in piedi sull'estremità non ha influenzato lo schermo, ma toccando l'estremità opposta con il mio dito ha provocato la sua reazione.

[Modifica: @toolbear chiede del "terreno"]

La tensione è la differenza tra due potenziali. La cosa che sta misurando la tensione sullo schermo (e alla fine cercando l'effetto del dito) ha una connessione a quello schermo e l'altra a un riferimento che quasi sicuramente sarà la terra all'interno del telefono. Questa "terra" è una connessione comune a tutto il telefono e probabilmente alle sue parti metalliche. L'idea è che quando si tiene il telefono in mano, c'è un accoppiamento capacitivo tra la mano e il terreno all'interno del telefono. Per quanto riguarda varie congetture sulla Terra, potrebbero funzionare perché tutto alla fine si accoppierà in modo capacitivo al telefono. E per quanto riguarda "un oggetto capacitivo senza messa a terra con sufficiente superficie", questo è esattamente ciò che viene mostrato nell'illustrazione come una piastra sotto il telefono.

Il caricabatterie o la connessione USB potrebbero fornire una connessione di terra nel telefono, ma ciò non è garantito. Aprire il telefono per accedervi avrebbe funzionato, ma ciò avrebbe limitato la praticità quando si trattava di qualsiasi applicazione per l'utente finale.


Ciao. La tua risposta è molto utile. Se hai voglia di continuare a spiegare questo fenomeno, puoi spiegare perché un centesimo ha bisogno di un terreno più ampio per essere in grado di scaricare abbastanza carica per registrare un clic, ma il sottile cavo dell'altoparlante estrae abbastanza carica da solo? Immagino che la massa totale del filo sia la stessa. Dal momento che le dimes sono per lo più fatte di nichel, non dovrei essere in grado di utilizzare il filo di nichel per attaccare il viso del telefono e toccarlo con la mano da una distanza e sostanzialmente ottenere lo stesso effetto di toccare il centesimo sullo schermo?
Jeff Ryan,

Questa è una risposta straordinaria.
j03m

Questa analogia ha aiutato a colmare il divario nella comprensione del mio profano.
toolbear,

Vuoi approfondire il "sistema di terra" del circuito? Suggerisci di mettere a terra un piatto sotto il dispositivo, ma si può mettere a terra a "terra" che interpreto come terra sotto i miei piedi. Inoltre, è necessario il terreno o aiuta? Funzionerebbe anche un oggetto senza messa a terra e capacitivo con sufficiente superficie?
toolbear,

Molto interessante. Supponiamo di collegare un condensatore da 10µF alla moneta per aumentare la capacità e collegare a terra entrambi i lati tramite il transistor, funzionerebbe meglio? In alternativa, posso posizionare la moneta sul touchscreen, aggiungere un relè tra la moneta e il condensatore e quindi attivare la capacità tramite il relè? Immagino sia tempo di fare alcuni esperimenti :-)
Thomas Weller,

4

Fondamentalmente non sono interessati a un flusso di corrente, almeno non dal tuo corpo reale, ecco perché funziona attraverso un isolante in plastica o vetro. Misura la capacità su diversi sensori, generalmente caricandoli con una corrente e un tempo costanti, quindi misurando la tensione risultante.

Registra un cambiamento di capacità perché il tuo corpo lavora per agire come metà di un condensatore, o più semplicemente aggiungendo capacità ... Perché può funzionare a contatto diretto, cioè non come un condensatore ideale ...

In una configurazione tipica, è sufficiente aggiungere alcuni pF.


In realtà pochi nF sarebbero enormi capacità. Queste cose di solito misurano alcuni pF, a volte 100s di fF. Sei fuori di almeno tre ordini di grandezza.
Olin Lathrop

@Olin Lathrop, forse lo sono ... dovrò tornare alla documentazione ctmu dal microchip, è da lì che pensavo di aver ottenuto le mie cifre.
Grady Player

Sì, l'esempio che ho trovato ha dato una capacità di 7pF, ero fuori strada.
Grady Player

3

In realtà, i touchscreen capacitivi non richiedono di essere toccati da un corpo in grado di generare corrente, ma rilevano quando vengono contattati da qualsiasi conduttore (vedi l' articolo di Wikipedia sul rilevamento capacitivo ). Poiché il filo è un conduttore prototipico, non è necessario toccarlo per usarlo come uno stilo di fortuna.


3

Mi rendo conto di essere in ritardo, ma forse questa risposta potrebbe essere utile per i futuri spettatori. Questo sarà anche fuori tema perché è più legato allo Stack-Overflow o Super User e meno EE. Sembra anche che ti interessi principalmente avere un'interfaccia per il touchscreen e non ti dedichi al tuo metodo attuale.

Suppongo anche che tu abbia un dispositivo Android.

Convenientemente per te (visto che sei un programmatore), un'interfaccia significativamente migliore sta usando Android Debug Bridge per simulare le pressioni del touchscreen, i colpi, i tasti indietro e i tasti home.

Fondamentalmente il tuo obiettivo principale è quello di far funzionare l'ADB. Ci sono molte risorse online, quindi non lo spiegherò qui. Per scaricarlo dovrai scaricare l' SDK di Android .

Successivamente, utilizzare un prompt dei comandi per inviare comandi ADB al dispositivo.

Comandi come:

adb shell input tap x y

Con 'x' e 'y' come posizione pixel premerà lo schermo.


1
Questa è un'idea davvero interessante .. Hai ragione, è fuori tema, ma offre un modo per raggiungere il mio obiettivo finale ... Per inciso, ho finito per usare le cuffie con i controlli del volume, e quindi far reagire la mia applicazione al volume su / volume giù / riproduzione / pausa eventi chiave .. Mi ha dato un paio di metri di distanza tra me e il dispositivo e mi ha dato più opzioni di un solo clic ...
Jeff Ryan

input tapsembra non disponibile con ADB su Android Studio 6.
Thomas Weller,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.