Dokunmatik Panel Kalibrasyonu

DOKUNMATİK PANEL KALİBRASYONUNUN MATEMATİKSEL ÇÖZÜMÜ


  1. Video Ders
  2. Dokunmatik Panel Kalibrasyonu

  3. Kalibrasyonun Matematiksel Çözümü
  4. Sonuç

DOKUNMATİK PANEL KALİBRASYONU

  • Dokunmatik paneller ekranların üzerilerine takılarak kullanılırlar. Ancak panelin koordinatları ile ekranın koordinatları uyuşmaz ve bu sebeple bunların kalibre edilmesi gerekir.
  • Daha önce 4 telli rezistif tip paneller için yazdığım kütüphanede fonksiyon aracılığı ile kalibrasyon yapılmaktaydı. Ancak farklı tip dokunmatik panel kullananlarında kalibrasyon matematiğini öğrenmesi amacı ile 2 nokta kalibrasyon metodunun matematiksel çözümünü anlattım
  • Video dersi izlemeyi unutmayın

2 NOKTA KALIBRASYON YÖNTEMİ

  • Birçok kalibrasyon yöntemi bulunmaktadır. (2-4-6-12-16 nokta yöntemleri bulunur.)
  • Genelde büyük ekranlarda açısal olarakta kalibrasyon sağlamak için 2 den fazla değer kullanılarak kalibrasyon yapılır.
  • 2 Nokta yöntemi olmasına karşın 4 noktaya dokunulur bunun sebebi X1 X2 ve Y1 Y2 olmasıdır.
  • Bunun için öncelikle dokunmatik panelin takıldığı ekranda belli yerlerde piksel yani noktalar oluşturulur .
en ideal kalibrasyon ölçüleri
Kullanıcı için oluşturulacak noktaların konumları
  • Yukarıda bulunan resim bir şablondur. Burada 4 adet kırmızı nokta bizim kalibrasyon noktalarımızdır.
  • Bu noktalar GLCD de piksel oluşturma fonksiyonu ile yukarıdaki ölçülerin denk geldiği yerlerde oluşturulur. Bu tamamen kullanıcının nereye dokunacağını göstermek amaçlıdır.
  • 240×128 bir GLCD için yukarıdaki şablon resme göre dokunulması gereken noktaların oluşturulması gereken koordinatlar şunlardır;
    • 1.NOKTA   x=%20 ve y=%80 yani x=240*20/100= 48   y=128*80/100=102   yani (48,102)
    • 2.NOKTA  x=%20 ve y=%20 yani x=240*20/100=48     y=128*20/100=25     yani (48,25)
    • 3.NOKTA  x=%80 ve y=%20 yani x=240*80/100=192   y=128*20/100=25     yani (192,25)
    • 4.NOKTA  x=%80 ve y=%80 yani x=240*80/100=192   y=128*80/100=102  yani (192,102)
  • 240×128 bir ekranda 4 adet kalibrasyon noktalarının ekranda hangi koordinatlarda oluşturulması gerektiğini yukarıda hesapladık. Bu noktalarda pikseller oluşturulacak ve kullanıcıdan buralara dokunması istenecek.
  • Kullanıcı bu noktalara dokunduğunda dokunmatik panel üzerinden gelen ham x ve y değerleri okunacak.(devre şeması ve diğer detaylar için inceleyiniz “rezistif tip dokunmatik panel kütüphanesi“)
  • Örnek olarak anlatma gerekirse (ham değerler derste kullanılan değerlerdir her panelin vereceği değer farklılık gösterebilir)
    • 1.NOKTAYA dokunulduğunda okunan ham değer x=230  ve y=730 dur. Yani GLCD üzerinde (48,102) noktasına dokunulduğunda okunan değer (230,730) dur
    • 2.NOKTAYA dokunulduğunda okunan ham değer x=228  ve y=237 dir. Yani GLCD üzerinde (48,25) noktasına dokunulduğunda okunan değer (228,237) dir
    • 3.NOKTAYA dokunulduğunda okunan ham değer x=780  ve y=232 dur. Yani GLCD üzerinde (192,25) noktasına dokunulduğunda okunan değer (780,232) dir
    • 4.NOKTAYA dokunulduğunda okunan ham değer x=773  ve y=704 dur. Yani GLCD üzerinde (192,102) noktasına dokunulduğunda okunan değer (773,704) dir
  • Yukarıdaki şekilde dokunulan noktaları ve bu noktalardan alınan ham verileri ( veriler dokunmatik panel üzerinden gelmektedir) kayıt ediyoruz.
  • Ekran kontrolü için daha önce yazdığım“SAP1024B_GRAFIK_LCD” kütüphanemi kullanabilirsiniz.
Dokunmatik Panel Kalibrasyonu
Ekranda 4 adet nokta yukarıdaki ölçülerde oluşturulur ve kullanıcının dokunması istenir. Böylece alınan veriler üzerinden işlem yapılır. Buradan aldığımız veriye “sanal noktalar “ diyoruz
GLCD de Dokunulan Noktalar Dokunmatik Panelden okunan değerler
XD YD X Y
1.NOKTA 48 102 230 730
2.NOKTA 48 25 228 237
3.NOKTA 192 25 780 232
4.NOKTA 192 102 773 704
  • Bu noktalara dokunulduğunda okunan değerler bizim ham değerlerimizdir.
  • Bu değerlerden sonra matematiksel işlem sırası gelmiştir.
  • Bu işlem ile bizim sapma paylarımızı hesaplayarak çözüme ulaşacağız.
  • Adından da anlaşılacağı gibi sapma payı GLCD ile dokunmatik panel arasındaki sapmayı hesaplar ve değerleri buna göre düzelterek. GLCD ninde Dokunmatik panelinde koordinat düzleminde aynı noktalara sahip olmasını sağlar.
  • Örnek = ekranın (100,100) noktasına dokunduğunuzda bu sefer farklı değer değil dokunmatik panel üzerinden de (100,100) okursunuz

KALİBRASYONUN MATEMATİKSEL ÇÖZÜMÜ

Dokunmatik Panel Kalibrasyonu
Sapma değerlerini hesaplamaya yarayan formuller ve sonuç formulu

 Sapma Değerlerinin Hesaplanması

  • Son formül ile sonuca gitmeden önce benim sapma değeri diye adlandırdığım 4 adet değeri hesaplamamız gerekmektedir.
  • Sapma değerlerini yukarıdaki tablodan yararlanarak hesaplayacağız.
  • Sapma değerleri 4 adet hesaplanacaktır. Bunlar “a” değeri, “b” değeri , “c” değeri ve “d” değeri şeklindedir.
  • Her değer  “(a1+a2)/2= ortalaması” şeklinde hesaplanacaktır.
  • Tüm sapma değerleri için yukarıdaki resimde gözüktüğü gibi 4 adet formül kullanılacaktır.

 

a1 ve b1”  Sapma Değerlerinin Hesaplanması

FORMÜL1:
YD1=(a1*Y1)+(b1*1)
YD3=(a1*Y3)+(b1*1)
  • Yukarıdaki tablodan değerleri okuyarak yerlerine yerleştirelim.
    102=(a1*730)+b1
      25=(a1*232)+b1
    ———————–
    102=  (730a1) + b1
     –25(232a1– b1
    ———————–
    77=498a1
    ———————–
    a1=(77/498) = 0,154
  • a1 değerini bulduğumuza göre bu değer üzerinden b1 değerini bulalım
    25=(0,154*232)+b1
    ———————–
    25=(35,728)+b1
    ———————–
    b1=(2537,728)= -10,728

 

a2 ve b2”  Sapma Değerlerinin Hesaplanması

FORMÜL2:
YD2=(a2*Y2)+(b2*1)
YD4=(a2*Y4)+(b2*1)
  • Yukarıdaki tablodan değerleri okuyarak yerlerine yerleştirelim.
      25=(a2*237)+b2
    102=(a2*704)+b2
    ———————–
    25= (237a2)  b2
    102=  (704a2b2
    ———————–
    77=467a2
    ———————–
    a2=(77/467) = 0,164
  • a2 değerini bulduğumuza göre bu değer üzerinden b2 değerini bulalım
    25=(0,164*237)+b2
    ———————–
    25=(38,868)+b2
    ———————–
    b2=(2538,868)= -13,868

 

c1 ve d1”  Sapma Değerlerinin Hesaplanması

FORMÜL3:
XD1=(c1*X1)+(d1*1)
XD3=(c1*X3)+(d1*1)
  • Yukarıdaki tablodan değerleri okuyarak yerlerine yerleştirelim.
      48=(c1*230)+d1
    192=(c1*780)+d1
    ———————–
    48= (230c1)  d1
    192=  (780c1+ d1
    ———————–
    144=550c1
    ———————–
    c1=(144/550) = 0,261
  • c1 değerini bulduğumuza göre bu değer üzerinden d1 değerini bulalım
    48=(0,261*230)+d1
    ———————–
    48=(60,03)+d1
    ———————–
    d1=(4860,03)= -12,03

 

c2 ve d2”  Sapma Değerlerinin Hesaplanması

FORMÜL4:
XD2=(c2*X2)+(d2*1)
XD4=(c2*X4)+(d2*1)
  • Yukarıdaki tablodan değerleri okuyarak yerlerine yerleştirelim.
      48=(c2*228)+d2
    192=(c2*773)+d2
    ———————–
    48= (228c2)  d2
    192=  (773c2+ d2
    ———————–
    144=545c2
    ———————–
    c2=(144/545) = 0,264
  • c2 değerini bulduğumuza göre bu değer üzerinden d2 değerini bulalım
    48=(0,264*228)+d2
    ———————–
    48=(60,192)+d2
    ———————–
    d2=(4860,192)= -12,192

 

Sapma Değerleri Sonuç Tablosu

1 2 Ortalaması
a 0,154 0,164  0,159
b -10,728 -13,868  -12,298
c 0,261 0,264  0,262
d -12,03 -12,192  -12,111
  •  Yukarıdaki tabloda elde edilen sonuçlar son formülde kullanılacaktır.
  • Ortalama alma yöntemi (a1+a2)/2 şeklindedir.

 

Sonuç Formülü Kullanılarak Kalibrasyon Yapılması

SONUÇ FORMÜLÜ
YD=a*Y(b)
XD=c*X(d)
  • Tüm değerler hesaplandıktan sonra artık kalibrasyon yapılabilir.
  • Yukarıdaki “Sonuç Formülü” yazılımda kullanılacak son noktadır. Bu formül ile yazılım kalibrasyonu yapar. Nasıl çalıştığını örnekler ile görelim.
  • Örnek olarak yukarıdaki tabloda verilen değerleri kullanacağım.
  • Örneğin, Y ekseninde dokunduğumda 730 değerini okudum ancak benim tıkladığım nokta gerçekte 102 dir. ( en baştaki tabloya bakınız)
  • Formülde yerlerine koyalım;
    YD=(0,159*730)-12,298=103,772
  • Bulduğum sapma değerlerine göre işlem yaptığımda dokunduğum noktanın 103 olması gerektiğini gördüm. Aslında dokunduğum noktada gerçekte 102 dir, bu tür sapmalar dokunulan yer ve küsuratlar sebebi ile olabilir ancak dikkate alınmamalıdır çünkü yazılımda float değeri ile işlem yapıldığından küsuratların büyük bir kısmı hesaba katılır ve bu tarz yanılmalar ortadan kalkar.
  • Eğer X ekseninde bir hesap yapmamız gerekseydi
  • Örneğin, X eksenine dokunduğumda 230 değerini okudum ancak benim tıkladığım nokta gerçekte 48 dir. ( en baştaki tabloya bakınız)
  • Formülde yerlerin koyalım;
    XD=(0,262*230)-12,111=48,149
  • Bulduğum sapma değerlerine göre yapılan hesapta dokunulan noktanın 48 olması gerektiğini gördüm zaten benimde dokunduğum nokta X ekseninde 48 dir, yani kalibrasyon doğru yapılmış oldu.

SONUÇ

  • Dokunmatik panellerin kalibre edilmesi yukarıda anlatıldığı gibi hesaplamalar ile yapılmaktadır. Rastgele sayı belirleme ile yapmak bilim dışıdır ve doğru değildir.
  • Ekran boyutu ne olursa olsun yukarıdaki yöntem yüzdelik dilimler ile konuyu ele aldığından sizi doğru sonuca götürür.
  • Kalibrasyon yaparken dokunulan her noktanın ham “X” ve “Y” değeri alınır “Sonuç Formülünde” yerine konulur ve sonuç alınır.

İşlem ve diğer detaylar için mutlaka aşağıdaki video dersi izleyiniz.


Dokunmatik Panel Kalibrasyonunun Matematiksel Çözümü Video Ders


About ERCAN KOÇLAR

Çalışmalarım çocukken başladı kolonyalı kağıtları yakmak, ilaçları birbirine katmak gibi değişik deneylerim vardı. Kimya kitabında elektroliz ile suyun hidrojen ve oksijene ayrıldığı ve hidrojenin yandığını yazıyordu, o zamanlarda aklım almıyordu sudan nasıl yanan....Devamını okumak için tıklayınız ;)