PIC 18 ile Rezistif Dokunmatik Panel Kullanımı – MikroC

This post is also available in: English Azerbaycan Türkcesi Русский


Dokunmatik Panel Kütüphanesi Kullanımı Genel

Dokunmatik Panel Sürücü Devresi

Pin Tanımlaması

Video Anlatım

  1. Fonksiyonlar
  2. Örnek Kodlar

DOKUNMATİK PANEL KÜTÜPHANESİ KULLANIMI

Bu bölümde kütüphanede bulunan fonksiyonlar tek tek açıklanacaktır. Anlaşılamayan noktaları ve hata bildirimlirini ” Soru-Cevap” forumuna yapabilirsiniz

Önemli Notlar:

  • Rezistif dokunmatik paneller direnç esasına göre çalışır
  • Bu kütüphane 4 tel çıkışlı rezistif dokunmatik panelleri kontrol etmek amacı ile C dili ile MikroC derleyicisinde yazılmıştır
  • Kontrol için PIC18 ailesi mikroişlemci seçilmiştir
  • Sürücü olarak MikroElektronika firmasının devresi kullanılmıştır.
  • Tavsiye olarak , her açılışta kalibrasyon yapılmak istenmiyorsa hesaplanan sapma
    payları “Eproma” kayıt edilebilir böylece her açılışta oradan değer okunur ve
    sürekli kalibrasyon yapılmasına gerek kalmaz
  • Dokunmatik kütüphane videosunda göreceğiniz “yazı yazma” ve “pixel “ fonksiyonları kendi yazmış olduğum kütüphaneye aittir. Bu sebeple standart mikroc kütüphanesi kullanıyorsanız o kütüphanenin fonksiyonlarını yazmalısınız ya da buradan indirerek benim kütüphanemi kullanabilirsiniz( MikroC GLCD EKRAN KÜTÜPHANESİ – (SAP1024B – T6963C))
  • ÖNEMLİ! – Analog Dijital çevrim ile ilgili olarak referans gerilimi besleme gerilimi olduğu için bu hatta yaşanacak parazitler hesaplamalara negatif olarak yansıyacaktır bu sebeple besleme devrenizi parazitlerden arındırmanız gereklidir ya da bu devreyikullanabilirsiz.(+5v -5v 3.3v SWITCH MOD REGULATOR)

 

DOKUNMATİK PANEL SÜRÜCÜ DEVRESİ

rezistif 4 tel dokunmatik panel devresi
rezistif panel sürme devresi
4 Pin FPC konnektör
4 Pin FPC konnektör
rezistif panel sürme devresi
rezistif panel sürme devresi

Devre İçin Gerekli Parçalar

  • 1 ADET – 4 Pin FPC konnektör ( dokunmatik panel çıkışı için) – mutlaka kullanılmalı jelatin uç lehim yapılmamalıdır
  • 2 ADET – 100 nf Polyester Kondansatör
  • 2 ADET – 47K Direnç
  • 8 ADET – 1K Direnç
  • 2 ADET – 10K Direnç
  • 3 ADET – BC546 Transistör
  • 2 ADET – BC556 Transistör

 

PIN TANIMLAMASININ YAPILMASI

Kütüphanedeki fonksiyonların Dokunmatik Panel  ile iletişim kurup onu kullanabilmesi için bir takım portların ayarlanması ve bağlantının buna göre yapılması gerekir. Pin bağlantıları ile ilgili aşağıdaki kodları inceleyebilirsiniz

Yukarıda bulunan surucu_a , surucu_b , analog_x ve analog_y  uçları devre şemasında belirtilmiştir.

 

1-)FONKSİYONLAR

1A-)   D_PANEL_INIT   Fonksiyonu

Amacı :

Inıt fonksiyonu, kullandığımız dokunmatik panelin yazılım tarafından analiz edilmesini sağlar bu sebeple burada kullanılan panelin genişliği,yüksekliği belirtilir

Ayrıca dokunmatik panel için PIC in hangi analog kanalından okuma yapılacaksa onlarda belirtilir.

Ana Fonksiyondur mutlaka en başta çağırılmalıdır

Kullanımı:

D_PANEL_INIT(unsigned int Genislik , unsigned int Yukseklik ,unsigned char x_analog_kanali,unsigned char y_analog_kanali) – şeklindedir

-Genislik: Kullanılan panelin pixel olarak genişliğini ifade eder

-Yükseklik : Kullanılan panelin pixel olarak yüksekliğini ifade eer

-x_analog_kanali : PIC in hangi analog kanalı kullanılacaksa (ÖR: AN1 ise 1 yazılır) yazılır

-y_analog_kanali : PIC in hangi analog kanalı kullanılacksa (ÖR: AN0 ise 0yazılır) yazılır

Örnek:
D_PANEL_INIT(240,128,0,1) – Yukarıda pin tanımlamasına bakıldığında X in analog kanalı AN0 ve Y nin analog kanalı AN1 olduğu görülür

 

1B-)   D_PANEL_X_OKUMA  ve   D_PANEL_Y_OKUMA   Fonksiyonları

Amacı:

X ve Y düzleminde okuma yapar ancak büyük bir fark olarak direk kordinatları okumaz dokunulan noktada dokunmatik panelden ölçülen ham analog (işlem
görmemiş) değerleri okur
Dokunulan alanın değerlerini “float “değerinde geri döndürür.

Kullanımı:

D_PANEL_X_OKUMA( ) – şeklindedir parametre almaz

D_PANEL_Y_OKUMA( ) – şeklindedir parametre almaz

 

1C-)   D_PANEL_DOKUNULDU_MU   Fonksiyonu

Amacı:

Panele dokunulup dokunulmadığını sorgular, dokunulmuşsa 1 ,dokunulmamışsa 0 değerini geri döndürür

Kullanımı:

D_PANEL_DOKUNULDU_MU(unsigned int hassasiyet) – şeklindedir

-hassasiyet : “hassasiyet” parametresi okunması istenen tavan değeri belirtir örneğin; “hassasiyet =10 ” ise 10 degerinin üstüne çıkılırsa dokunulmuş sayar böylece dokunma hassasiyeti ayarlanabilir

Örnek:

Eğer panele dokunulduysa işlemleri gerçekleştir

 

1D-)   D_PANEL_KALIBRASYON_NOKTA_1-2-3-4   Fonksiyonları

Amacı:

Dokunmatik paneli kalibre eder.

Kalibrasyon için gerekli dört noktadan değer toplar. Her fonksiyon başarılı olarak sona erdiğinde 1 değeri geri döndürür. Bu değer kalibrasyon hesaplamalarında

kullanılacak ham değerlerdir

Kullanımı:

D_PANEL_KALIBRASYON_NOKTA_1( ) – şeklinde kullanılır parametre almaz

D_PANEL_KALIBRASYON_NOKTA_2( ) – şeklinde kullanılır parametre almaz

D_PANEL_KALIBRASYON_NOKTA_3( ) – şeklinde kullanılır parametre almaz

D_PANEL_KALIBRASYON_NOKTA_4( ) – şeklinde kullanılır parametre almaz

Örnek:

en ideal kalibrasyon ölçüleri

NOT: Bu fonksiyonlar aşağıdaki gibi bir harici fonksiyon içinde kullanılmalıdır. Çünkü kullanıcıya dokunması gereken noktalar oluşturulmalıdır. Bu noktalar oluşturulurken hangi ekran kütüphanes kullanılıyorsa onun fonskiyonları ile noktalar oluşturulmalıdır.

Fonksiyon main in üstünde tanımlanmalıdır.

 

1E-)   D_PANEL_KALIBRASYON_HESAPLAMA   Fonksiyonu

Amacı:

Kalibrasyon değerlerinin elle girilip herseferinde kalibrasyon işleminin yapılmaması için kullanılır

Kullanımı:

D_PANEL_KALIBRASYON_HESAPLAMA( ) – şeklinde kullanılır herhangi bir parametre almaz

NOT: Kalibrasyon otomatik olarak yapıldı ise çağırılmasına gerek yoktur. Her seferinde kalibrasyon işlemine vakit ayrılmak istenmiyorsa aşağıda belirtilen global değişkenlerin değerleri okunur not alınır yada harici bir belleğe yazılarak buradan geri çağırılırsa tekrar kalibrasyon hesabı yapılmasına gerek kalmaz.

sapma_a
sapma_b
sapma_c
sapma_d

Bu değişkenler global olarak tanımlanmışlardır ve “float” tipindedirler.

 

1F-)   D_PANEL_KONUM_X   ve    D_PANEL_KONUM_Y   Fonksiyonları

Amacı:

Dokunulan noktanın GLCD deki tam olarak kordinatını verir. Örnek olarak 240×128 bir ekranda sol üst köşeye dokunulunca x=0 y=0 değerini verirken sağ alt köşeye dokununca x=240 y=120 değerini veri

Kullanımı:

NOT: İki fonksiyon ham analog değerlerin işlenmiş halini bize verir. Küsüratların gözükmemesi için “int” olarak değer döndürür.

D_PANEL_KONUM_X( )
D_PANEL_KONUM_Y( )

 

1G-)   D_PANEL_KORDINAT_KONTROL   Fonksiyonu

Amacı:

Kolaylaştırıc fonksiyon olarak tasarlandı. Amacı lcd de oluşturulacak bir butonun kordinatlarının kolayca belirlenmesidir.

Örnek olarak başlangıç pozisyonu (10,10) olan ve boyutu 30×30 px olan (genişlik x yükseklik) resmimizin değerlerini parametrelere giriyoruz. Bu bilgilere göre

fonksiyon sınırları tespit eder . Sınırların içerisinde bir noktaya dokulursa 1 değeri gönderir dokunulmuyorsa 0 degeri gönderilir . Bu şekilde eklediğimiz bir

butonu bilgilerini ve konumunu girerek rahatça kullanabiliriz.

Kullanımı:

D_PANEL_KORDINAT_KONTROL(unsigned char simge_x,unsigned char simge_y,unsigned char simge_genislik_px,unsigned char simge_yukseklik_px) -şeklindedir.
-simge_x: ekranda görütlenecek simgenin sol üst başlangıç noktası x değeri

-simge_y: ekranda görütlenecek simgenin sol üst başlangıç noktası ydeğeri

-simge_genislik_px: ekranda görüntülenecek simgenin genisliği piksel olarak

-simge_yukseklik_px: ekranda görüntülenecek simgenin yüksekliği piksel olara

Örnek:

 

2-)ÖRNEK KODLAR

2A-)   Basit dokunmatik tahta yapımı

 

2B-)   Buton Örneği

2C-) Tam Program


“DOKUNMATİK PANEL KÜTÜPHANESİ KULLANIMI” VİDEO DERS


Gerekli Dosyalar


Dokümanlar

 

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 ;)

One thought on “PIC 18 ile Rezistif Dokunmatik Panel Kullanımı – MikroC

Comments are closed.