Jak korzystać z pojemnościowego ekranu dotykowego bez ludzkiej ręki

25

Jestem programistą i zwykle spędzam czas na przepełnieniu stosu, ale mam pytanie dotyczące elektryczności.

Próbuję wchodzić w interakcję z aplikacją na telefonie, pośrednio dotykając ekranu. Nowoczesne ekrany dotykowe, bo jestem pewien, że wszyscy tutaj wiedzą, że są pojemnościowe, a nie rezystancyjne, więc oznacza to, że powinienem być w stanie z nim wchodzić w interakcję, o ile mogę wprowadzić niewielki prąd na ekran, na którym chcę dotknąć.

Eksperymentuję z użyciem kabla głośnikowego i kilku innych przewodów, które układam w domu, aby zobaczyć, jak daleko mogę być i nadal przepuszczać wystarczającą ilość prądu przez drut, aby zarejestrować dotyk na ekranie, w oparciu o moją odległość i rozmiar i jakość drutu.

Odkryłem jednak, że dotykanie drutu do ekranu wydaje się rejestrować dotyk nawet bez dotykania go. Czy w środku jest już prąd? Czy tego rodzaju drutu używam? Miałem wrażenie, że sam drut nie ma prądu i przepuszcza prąd tylko wtedy, gdy jest źródło zewnętrzne.

Czy jest coś, co mogę zrobić, aby rozładować drut lub jakoś go zablokować?


Dziękujemy wszystkim za poinformowanie mnie, jak dokładnie działają pojemnościowe ekrany dotykowe. Miałem to źle w głowie.

Problem, który próbuję rozwiązać, polega na tym, że chcę komunikować się z telefonem za pomocą ekranu dotykowego na odległość. Czy jest jakiś materiał, którego mogę użyć do dołączenia do ekranu telefonu, który zasadniczo rozszerzy ekran dotykowy do miejsca, w którym się znajduję? Będę tylko kilka stóp poza zasięgiem i nie musi to być fantazyjne, po prostu wykryj zdarzenie dotykowe.

Zdaję sobie sprawę, że może to być dziwne pytanie, więc jeśli nie otrzymam odpowiedzi na to pytanie, nadal wybiorę odpowiedź poniżej, już wiele się nauczyłem z tego pytania.

Jeff Ryan
źródło
Osobiście spodobał mi się ten dokument, aby dowiedzieć się nieco więcej o technologii pojemnościowego dotyku: ti.com/lit/an/slaa363a/slaa363a.pdf
jippie
Dzięki. To bardzo pomaga. Jeśli dobrze to rozumiem, urządzenie ma pole elektryczne wokół różnych padów czujników i wykrywa zakłócenia. Zakłócenia pojawiają się, gdy obiekt porusza się w polu, i przejmują część ładunku, ponieważ jest on przewodzący. Urządzenie rozpoznało mniejszą ilość prądu, więc wie, że coś go dotyka. Czy to w porządku?
Jeff Ryan
Nie, nie do końca, to bardziej przypomina działanie tamina. Może zobacz youtube.com/watch?v=JVRuDY4X88M&sns=em
Grady Player
Dziękuję wszystkim za pomoc. Każda odpowiedź była dla mnie bardzo pomocna. Najbardziej uciekłem z Olinem do przodu, więc wybrałem jego odpowiedź, ale dziękuję również wszystkim innym.
Jeff Ryan,
Interakcja z maszynami komputerowymi na odległość jest rozwiązywana przez przetwarzanie obrazu wideo w czasie rzeczywistym w celu odczytania pozycji ludzkiego ciała i kończyn. Możesz kontrolować położenie kursora na ekranie za pomocą gestów i generować zdarzenia takie jak kliknięcia myszką. Zobacz na przykład Kinect firmy Microsoft.
Kaz

Odpowiedzi:

8

oznacza to, że powinienem być w stanie z nim wchodzić w interakcję, o ile mogę wprowadzić niewielki prąd na ekran, na którym chcę dotknąć.

Nie. Nie „doprowadzasz” prądu do urządzenia. Urządzenia te mierzą pojemność, a nie prąd lub napięcie. Dodatkowa pojemność ciała z powrotem do otoczenia lub uziemienia obwodu jest wykrywana poprzez sprawdzenie, jak pad pojemnościowy reaguje na niektóre specjalnie wybrane sygnały.

Olin Lathrop
źródło
Ach, Ok. Moja niewiedza w tych kwestiach wyraźnie pokazuje. Zatem zamiast prądu elektrycznego docierającego do urządzenia, wydaje się sugerować, że urządzenie wykrywa, kiedy coś dotykającego może otrzymać prąd. Nie wiem, czy używam terminologii poprawnie, ale chodzi o to, że kierunek płynie z urządzenia do mnie, a nie na odwrót. Czy to jest poprawne?
Jeff Ryan
2
@Jeff: Tak, sortof. Logicznym kierunkiem jest to, że urządzenie aktywnie szuka obecności czegoś. Coś jest wyłącznie pasywne.
Olin Lathrop,
Może miałoby to większy sens, gdyby operator widział, że ten sam obwód działa jak detektor zbliżeniowy?
Grady Gracz
Dobrze. Próbuję to zrozumieć. Jeśli położę dziesięciocentówkę na ekranie dotykowym i poruszam go plastikowym długopisem, nic się nie stanie. Ale kiedy dotykam tego centu palcem i przesuwam go, ekran reaguje. Czy to oznacza, że ​​grosz nie przewodzi, dopóki go nie dotknę?
Jeff Ryan
2
@Jeff: Nie, to znaczy, że grosz sam w sobie nie ma wystarczającej pojemności, aby dotrzeć gdzie indziej, dopóki go nie dotkniesz. Jest dobrze przewodzący, ale to nie ma większego znaczenia, ponieważ nie wyczuwamy przewodnictwa. Twoje ciało jest mniej przewodzące niż dziesięciocentówka, ale znacznie większe i dlatego bardziej prawdopodobne jest, że osiągnie pewien minimalny poziom sprzężenia pojemnościowego z powrotem do odniesienia masy do obwodu. To właśnie to połączenie pojemnościowe z powrotem do ziemi szuka obwodu.
Olin Lathrop,
26

Generalnie opieram się analogiom, ale ponieważ jesteś facetem wyłącznie programistycznym i ponieważ wszyscy inni nalegają na rozmowę z tobą o pojemności, zamierzam opowiedzieć tę historię.

Wyobraź sobie, że strzelasz kulkami farby do ściany. Wszędzie, gdzie uderzasz w ścianę, jest odrobina farby. Z wyjątkiem jednego miejsca, w którym strzelasz, a kiedy farba go trafi, robi mały ślad, ale w przeciwnym razie farba po prostu znika. Podczas badania okazuje się, że ktoś przymocował urządzenie ssące po drugiej stronie ściany, a ponieważ płyta ścienna jest z papieru, jest w stanie przeciągnąć farbę przez nią.

Mechanizm telefonu działa podobnie. Wrzuca wiązkę elektronów na tylną stronę szkła. Zwykle można to zaobserwować jako wzrost napięcia. Ale w miejscu, w którym dotyka palca, ładunek jest absorbowany przez palec, a napięcie w tym miejscu zostanie znacznie zmniejszone. Jak to działa przez szkło, ma to związek z faktem, że ładunki przyciągają się i odpychają, ale nie przyszedłeś tutaj, aby uczyć się elektroniki, więc będziemy zadowoleni z takiego wyjaśnienia.

Być może widać, że bilon umieszczony na ekranie nie pobiera wystarczającej ilości ładunku, aby zarejestrować obwody dotykowe, ale jeśli ten bilon jest podłączony do czegoś większego, takiego jak ty, teraz wystarczająca ilość ładunku jest pobierana, aby zostać wykrytym. To bardziej przypomina zachowanie elektryczności statycznej, niż klasyczne obwody obejmujące baterie, przewody, rezystory i żarówki.

[Edytuj, aby odpowiedzieć: „Co mogę zrobić ...”] szkic telefonu z podłączonym przewodem sensownym

Nie wiem, czy coś takiego można sprawić, by działało, ale celem jest symulacja dotyku poprzez podłączenie drutu nad ekranem z powrotem do uziemienia telefonu. Uziemienie (wykonane przez umieszczenie telefonu na metalowej płycie lub arkuszu) jest również pojemnościowe i jest odpowiednikiem trzymania telefonu w dłoni. Chodzi o to, że przełącznik tranzystorowy może odłączyć krótki przewód nad ekranem i że zabraknie sprzężenia pojemnościowego z powrotem do obwodu sterującego (komputera, z którego próbujesz wygenerować zdarzenia dotykowe), aby wyzwolić go, gdy miał być wyłączony. Włączenie tranzystora spowoduje podłączenie przewodu do płytki uziemiającej, a następnie powinno wygenerować zdarzenie dotykowe w telefonie.

[Edycja: Pracownik mówi, że błądząca pojemność FET nadal byłaby zbyt duża, aby pozwolić na to. Jednak nic nie kosztuje.]

[Edytuj: Ta część odpowiedzi jest odpowiedzią na komentarz zamieszczony poniżej]

Tu nie chodzi o masę; chodzi o powierzchnię. Arkusz folii może pomieścić więcej ładunku niż dziesięciocentówka, nawet jeśli waży mniej. W przypadku kawałka drutu chodzi bardziej o długość. Równie ważne jest to, czy ten drut jest przymocowany do czegokolwiek. Jeśli trzymasz go w dłoni, drut i twoje ciało są w równaniu. W tym eksperymencie twoje ciało jest dobre jak kawałek metalu. I zadziała każdy metal, czy to miedź, nikiel, aluminium czy stal. Jedynym wymogiem jest przewodzenie prądu.

Nawiasem mówiąc, właśnie wypróbowałem kilka metalowych przedmiotów na moim telefonie i jestem zaskoczony, że otrzymujesz tak wiele odpowiedzi z drutu. Grosz nic nie robi, chyba że dotknę go palcem. Jeśli trzymam ćwiartkę w dłoni i dotykam krawędzi ekranu, nic nie dostaję. Dwa też tego nie robią. Trzy ułożone bokiem zapewniają wystarczający kontakt, aby wpłynąć na ekran. Następnie spróbowałem spinacza, który trzymałem w dłoni. Nie zareaguje, jeśli zaokrąglony koniec zostanie dotknięty ekranu. Musiałem trzymać go daleko i dotykać boku, aby uzyskać reakcję. Stojący na końcu metalowy pręt nie wpłynął na ekran, ale dotknięcie palcem przeciwnego końca spowodowało, że zareagował.

[Edytuj: @toolbear pyta o „ziemię”]

Napięcie to różnica między dwoma potencjałami. To, co mierzy napięcie na ekranie (i ostatecznie szuka efektu palca), ma jedno połączenie z tym ekranem, a drugie z odniesieniem, które prawie na pewno będzie ziemią wewnątrz telefonu. Ta „masa” jest powszechnym połączeniem w telefonie i prawdopodobnie z jego metalowymi częściami. Chodzi o to, że gdy trzymasz telefon w ręce, między dłonią a ziemią wewnątrz telefonu występuje pojemnościowe połączenie. Jeśli chodzi o różne przypuszczenia o ziemi, mogą one działać, ponieważ wszystko ostatecznie do pewnego stopnia połączy się pojemnościowo z telefonem. A jeśli chodzi o „nieuziemiony, pojemnościowy obiekt o wystarczającej powierzchni”, cóż, dokładnie to pokazano na ilustracji jako płytkę pod telefonem.

Ładowarka lub połączenie USB może równie dobrze zapewnić uziemienie telefonu, ale nie jest to gwarantowane. Otwarcie telefonu, aby się do niego dostać, działałoby, ale miałoby to ograniczoną praktyczność w przypadku dowolnej aplikacji użytkownika końcowego.

gbarry
źródło
Cześć. Twoja odpowiedź jest bardzo pomocna. Jeśli masz ochotę kontynuować wyjaśnianie tego zjawiska, czy możesz wyjaśnić, dlaczego dziesięciocentówka potrzebuje większego gruntu, aby móc pobrać wystarczającą ilość ładunku, aby zarejestrować kliknięcie, ale cienki przewód głośnikowy sam pobiera wystarczającą ilość ładunku? Wyobrażam sobie, że całkowita masa drutu jest taka sama. Ponieważ dziesięciocentówki są w większości wykonane z niklu, czy nie powinienem być w stanie użyć drutu niklowego do przymocowania do powierzchni telefonu i dotknięcia ręką z daleka i uzyskania takiego samego efektu, jak dotknięcie dziesięciocentówki na ekranie?
Jeff Ryan
To niesamowita odpowiedź.
j03m
Ta analogia pomogła wypełnić lukę w rozumieniu mojego laika.
toolbear
Czy rozwinąłbyś więcej na temat „systemu uziemienia obwodu”? Sugerujesz uziemienie do płyty pod urządzeniem, ale można uziemić do „uziemienia”, co interpretuję jako grunt pod moimi stopami. Czy grunt jest konieczny, czy tylko pomaga? Czy działałby również nieuziemiony, pojemnościowy obiekt o wystarczającej powierzchni?
toolbear
Bardzo interesujące. Załóżmy, że podłączam kondensator 10µF do monety, aby zwiększyć pojemność, i uziemiam obie strony za pomocą tranzystora, czy to działałoby lepiej? Alternatywnie czy mogę umieścić monetę na ekranie dotykowym, dodać przekaźnik między monetą a kondensatorem, a następnie uruchomić pojemność za pośrednictwem przekaźnika? Chyba czas na eksperymenty :-)
Thomas Weller
4

Zasadniczo nie są zainteresowani przepływem prądu, przynajmniej nie z twojego ciała, dlatego działa on przez plastikowy lub szklany izolator. Mierzy pojemność kilku czujników, na ogół ładując je stałym prądem i czasem, a następnie mierząc powstałe napięcie.

Rejestruje zmianę pojemności, ponieważ twoje ciało działa jako połowa kondensatora, lub prościej przez dodanie pojemności ... Ponieważ może pracować w bezpośrednim kontakcie, tj. Nie jako idealny kondensator ...

W typowej konfiguracji wystarczy dodać tylko kilka pF.

Grady Gracz
źródło
Właściwie kilka nF byłoby ogromną pojemnością. Te rzeczy zwykle mierzą kilka pF, czasem 100s FF. Jesteś o co najmniej trzy rzędy wielkości.
Olin Lathrop,
@Olin Lathrop, Być może jestem ... Będę musiał wrócić do dokumentacji ctmu z mikroczipu, stąd myślałem, że mam swoje dane.
Grady Gracz
Tak, przykład, który znalazłem, dał pojemność 7pF, byłem daleko.
Grady Gracz
3

W rzeczywistości pojemnościowe ekrany dotykowe nie wymagają dotykania przez ciało, które może pobierać prąd, raczej wyczuwają kontakt z jakimkolwiek przewodnikiem (patrz artykuł w Wikipedii na temat wykrywania pojemnościowego ). Ponieważ drut jest prototypowym przewodnikiem, nie trzeba go dotykać, aby użyć go jako prowizorycznego rysika.

angelatlarge
źródło
3

Zdaję sobie sprawę, że się spóźniłem, ale być może ta odpowiedź może być przydatna dla przyszłych widzów. To również będzie poza tematem, ponieważ jest bardziej związane z przepełnieniem stosu lub superużytkownikiem i mniej związane z EE. Wygląda również na to, że zależy ci przede wszystkim na interfejsie do ekranu dotykowego i nie jesteś oddany obecnej metodzie.

Zakładam również, że masz urządzenie z Androidem.

Dogodnie dla Ciebie (zważywszy, że jesteś programistą), znacznie lepszym interfejsem jest użycie Android Debug Bridge do symulacji naciśnięć ekranu dotykowego, przeciągnięć, naciśnięcia klawisza Wstecz i przycisku Home.

Zasadniczo Twoim głównym celem jest uruchomienie ADB. Istnieje wiele zasobów online, więc nie będę tego tutaj wyjaśniać. Aby go pobrać, musisz pobrać zestaw Android SDK .

Następnie użyj wiersza polecenia, aby wysłać polecenia ADB do urządzenia.

Polecenia takie jak:

adb shell input tap x y

Z „x” i „y” jako lokalizacją w pikselach naciśnij ekran.

Nick Williams
źródło
1
To naprawdę ciekawy pomysł .. Masz rację, to nie na temat, ale oferuje sposób na osiągnięcie mojego celu końcowego ... Nawiasem mówiąc, skończyło się na użyciu słuchawek z regulacją głośności, a następnie sprawiłem, że moja aplikacja zareagowała na zwiększenie głośności / zmniejszanie głośności / odtwarzanie / pauza kluczowe zdarzenia .. Dał mi kilka metrów odległości między mną a urządzeniem i dał mi więcej opcji niż jedno kliknięcie ...
Jeff Ryan
input tapwydaje się niedostępne z ADB na Android Studio 6.
Thomas Weller