-
11. Data: 2011-02-18 11:31:43
Temat: Re: Problemy z rezystancyjnym panelem dotykowym...
Od: "Infotank" <i...@i...pl>
Użytkownik "Konop" <k...@g...pl> napisał w wiadomości
news:ijk6m3$3a8$1@inews.gazeta.pl...
> Witam
>
> Na wstępie - mój problem opiszę na przykładowym programie do rysowania po
> LCDku :). Jedzie się palcem/rysikiem po LCD no i to samo ma się pojawić na
> wyświetlaczu.
> JEśli nie dotykam wyświetlacza, to pojawiają mi się na nim śmieci! Grupy
> punktów, w miarę stałych miejscach, trochę na prawo od środka, oraz dalej
> na prawo i trochę wyżej. Problem występuje na dwóch egzemplarzach
> podobnego wyświetlacza.
> Oczywiście, mogę z tym walczyć, przez:
> - zwiększenie czasu martwego na ustalenie się stanu na wejściu ADC
> - wymaganie, aby N kolejnych pomiarów znalazło się w pewnym określonym
> obszarze, tu mogę regulować N oraz promień R...
>
Najszybciej i niedrogo, specjalizowany interface do paneli dotykowych
rezystancyjnych np. TSC2046
Roman F
> Wszystko fajnie, tylko nie potrafię dojść do satysfakcjonującego mnie
> kompromisu:). Albo są śmieci, albo całość działa za wolno. Jeśli ustawię
> zbyt wysoką ilość powtórzeń, to mam spore opóźnienie przy "kliknięciu".
> Jeśli zaś dam małe opóźnienie, ale też mały promień, wówczas ciężko
> zrealizować przeciąganie palcem po ekranie (wymagany jest bardzo powolny
> ruch). Nie wiem, czy to wina samego panelu, mojej metody, czy sposobu
> podłączenia... Generalnie próbowałem:
> - zmienić kanał ADC na drugi (ten sam sygnał powinniśmy mieć na X1 i X2,
> jak i na Y1 i Y2)
> - zmieniać polaryzację
> - inaczej układać kabelek połączeniowy (całość pracuje na płytce
> prototypowej).
> Nic to nie pomagało... Trochę mnie to wkurza, bo sprawa niby banalna, a
> ciągle mam z tym problemy. Mam telefon z panelem rezystancyjnym (starszy
> model) i tam to działa świetnie! Czyli ogólnie się da. Tylko nie wiem, czy
> to wina wyświetlacza, czy mojego algorytmu??
> Patrzyłem na gotowce, ale znajdowałem same prymitywne, bez kalibracji
> nawet i oczywiście tak samo źle to działało... nawet nie umiałem dopatrzyć
> się w nich kodu, który wykrywa dotknięcie panelu...
> Może ktoś coś doradzi?? :)...
>
> --
> Pozdrawiam
> Konop
-
12. Data: 2011-02-18 13:33:01
Temat: Re: Problemy z rezystancyjnym panelem dotykowym...
Od: Konop <k...@g...pl>
On 18 Lut, 12:30, "Maciek" <f...@i...pl> wrote:
> Użytkownik "Konop" <k...@g...pl> napisał w
wiadomościnews:3c5d8bf6-694d-4ec4-b895-aa5af633767d@
p11g2000vbq.googlegroups.com...
>
> > > Zaraz... Więc jeżeli nie naciskasz, to X1 (lub X2) wisi w powietrzu?
> > > Dobrze
> > > zrozumiałem?
> > Nie no, nie jestem na tyle pomysłowy, żeby robić radio na LPCku ;)...
> > Włączone mam "pull-upy" do VCC na tych pinach... Próbowałem też
> > włączać podciąganie do GND, jak i coś w stylu X1 podciągnięte do VCC,
> > X2 podciągnięte do GND itp... nie pomagało... właśnie nie wiem, może
> > powinienem dać mniejszy rezystor podciągający? W sumie mogę go dać na
> > stałe, nie?
>
> Na stałe nie, bo zaburzy dokładność podziału dzielnika. U mnie sekwencja
> jest taka:
No tak, ale to może by się udało obejść kalibracją... choć - wtedy, to
przstałoby to być liniowe... no to to jednak zły pomysł ;)...
> - Y- do masy, X+ podwieszone do VCC (wejście ATMEGA128),
> - jeżeli na X+ pojawi się stan niski, czekam 10 ms i ponownie sprawdzam,
> - jeżeli na X+ jest nadal stan niski, wyłaczam pull-up i rozpoczynam
> konwersję.
Hmmm... ok, spróbuję później Twoją metodą i dam znać... Może
faktycznie to będzie dobry pomysł. Pomierzę jakie mam napięcia w
takiej konfiguracji gdy dotykam panelu i gdy tego nie robię ;)...
> A jaką masz wartość tego pull-up'u? Nie przełączasz go aby tuż przed
> sprawdzeniem wejścia?
Nie pamiętam teraz jaki jest pull-up w LPC :(...
Pozdrawiam
Konop
-
13. Data: 2011-02-18 22:50:30
Temat: Re: Problemy z rezystancyjnym panelem dotykowym...
Od: Konop <k...@g...pl>
> Na stałe nie, bo zaburzy dokładność podziału dzielnika. U mnie sekwencja
> jest taka:
> - Y- do masy, X+ podwieszone do VCC (wejście ATMEGA128),
> - jeżeli na X+ pojawi się stan niski, czekam 10 ms i ponownie sprawdzam,
> - jeżeli na X+ jest nadal stan niski, wyłaczam pull-up i rozpoczynam
> konwersję.
OK, zrobiłem prawie tak jak napisałeś i działa!!! Moje modyfikacje to:
- do GND zwieram obie końcówki Y
- stan na pinie X+ sprawdzam co 5ms
- jeśli w 2 kolejnych próbach stan jest niski, rozpoczynam pomiary,
pomiary wykonuję na przemian ze sprawdzeniem stanu "cygrowo"
- odczytaną wartość uważam za poprawną, jeśli przed pomiarem jak i po
stan na pinie X+ jest niski.
- jeśli którekolwiek sprawdzenie stanu wykazało stan wysoki, wszystko
wraca do punktu wyjścia ;)...
Stoi już to ładnych kilka minut i nic, żadnych "śmieci". Rysuje się za
to ładnie!! Teraz czas na kalibrację!! :)... W tej kwestii też możesz
coś polecić? O linku z początku dyskusji pamiętam ;)...
--
Pozdrawiam
Konop
-
14. Data: 2011-02-19 14:05:33
Temat: Re: Problemy z rezystancyjnym panelem dotykowym...
Od: Konop <k...@g...pl>
> Zgaduję że coś jest nie tak z samym algorytmem albo sposobem dokonywania
> pomiarów. Dobrze obsłużyć panel rezystancyjny wcale nie jest tak łatwo
> jakby się mogło wydawać. Polecam lekturę:
> http://www.analog.com/static/imported-files/applicat
ion_notes/AN-1021.pdf Kiedyś
> przerabiałem ten temat tyle że w moim przypadku sporym problemem było
> uzyskanie precyzyjnych wyników na całej powierzchni ekranu
Dobra, teraz się wziąłem za kalibrację, skorzystałem z tego kodu
"wprost"... i niespodzianka, nie działa za dobrze... Wszystko jest
jakieś poprzesuwane (łatwo wyjechać poza obszar ekranu), i odwrócone
(ruch w lewo rysuje mi linię w prawo, ruch w górę - linię w dół itp).
Pewnie gdzieś trzeba zmienić - na + czy coś, ale ciężko to teraz
znaleźć... Korzystałeś może z tego kodu? Coś w nim zmieniałeś??
--
Pozdrawiam
Konop