Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 29 mar 2024, o 10:18


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 5 ] 
Autor Wiadomość
PostNapisane: 27 sie 2016, o 21:22 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 13 paź 2011
Posty: 581
Pomógł: 17

Witam
Ciekawi mnie jedna rzecz, a mianowicie w jaki sposób rozwiązywane jest wykrywanie np. naciśnięcia klawiszy (od storny programowej) np. na jakimś wyświetlaczu z dotykiem.

W jaki sposób realizowane jest odczytanie, że np. dany klaiwsz został naciśnięty.
wrzucę może obrazek:
Obrazek
Jest to fajna klawiaturka.
No i nie ma problemy, myślę, że byłbym w stanie narysować coś takiego na wyświetlaczu.
Jak teraz obsłużyć, wykrywanie przyciśnięcia jakiejś cyferki.
Załóżmy, że napisałem już sobie tak, ze po naciśnięciu w ekran dostaję współrzędne..
i załóżmy ze w lewym górnym rogu są współrzędne 0,0

ale to teraz mam zrobić np. 9 ifów
np.
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Wydaje mi się, że tak tego sie nie realizuje.. ale mi do gowy wpadł tylko taki pomysł.
jak to robi się 'elegancko'?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 sie 2016, o 22:36 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 paź 2011
Posty: 8583
Pomógł: 337

Myślę że na tym etapie nie tędy droga , najpierw się zainteresuj układem który kontroluje dotyk ... a wszystko stanie się jasne
bo odczyt rezystancji przez adc to ... wiesz taki sam shit jak v-usb

http://ep.com.pl/files/2706.pdf


Autor postu otrzymał pochwałę

_________________
[b]San Escobar! Patria mia! Tu eres como la salud.[/b]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 sie 2016, o 23:26 
Offline
Użytkownik

Dołączył(a): 01 lis 2013
Posty: 302
Pomógł: 32

Witaj,

Znasz szerokość / wysokość ekranu, znasz szerokość /wysokość klawiszy, więc wiesz wszystko.
Zakładamy, że odczytywane współrzędne masz już obrobione, i są prawidłowe

Zakładamy, że np. szerokość jednego klawisza to 64 piksele, czyli 5 klawiszy się zmieści dla szerokości ekranu 320px
Zakładamy, że np wysokość jednego klawisza to 60 pikseli, czyli 4 klawisze się zmieszczą na wysokości ekranu 240px

----0------------1--------------2---------------3----------------4
0......63 64.....127 128.....191 192.....255 256.....319


Teraz odczytujemy pozycję dotyku w X, dzielimy przez szerokość jednego klawisza, odrzucamy część ułamkową i otrzymujemy numer klawisza w poziomie. Jeżeli dzielenie wykonujemy na liczbach całkowitych to automatycznie dostaniemy część całkowitą z dzielenia
To samo robimy dla osi Y.

Zakładając, że odczyt dotyku to np X = 165 oraz Y = 73

Więc:
X / 64 = 165 / 64 = 2.578 = 2
czyli liczba całkowita to 2.

Y / 60 = 73 / 60 = 1.21 = 1
czyli liczba całkowita to 1.

Wiemy więc, że naciśnięty klawisz jest w 2 kolumnie 1 rzędu.

Możemy teraz to zrobić tak, że
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


W tej metodzie ważne jest to, aby dotyk był tak oprogramowany / wyskalowany, aby odczytywane współrzędne odpowiadały pikselom na ekranie, oraz, aby klawisze były jednakowych wymiarów. Można je w oprogramowaniu oczywiście łączyć w większe klawisze.


Autor postu otrzymał pochwałę

_________________
Pozdrawiam,
sq8mvy, Paweł



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 sie 2016, o 05:24 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27212
Lokalizacja: Szczecin
Pomógł: 1041

eeeh wystarczy na forum zobaczyć cóż pięknego zrobił kolega Krauser

topic2885.html

wystarczy też zajrzeć do Greenbooka i wszystko staje się jasne


Autor postu otrzymał pochwałę

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 sie 2016, o 07:11 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 13 paź 2011
Posty: 581
Pomógł: 17

Dziękuję Panowie, to mi wiele rozjaśniło ;-)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 5 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 14 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO