Picproje Elektronik Sitesi

MİKRODENETLEYİCİLER => Microchip PIC => Konuyu başlatan: bolubeyi - 11 Aralık 2012, 13:14:26

Başlık: wg240128b glcd touchscreen 18f67k22
Gönderen: bolubeyi - 11 Aralık 2012, 13:14:26
Merhaba arkadaşlar elimde dokunmatik ekranlı wg240128b glcd var.İşlemci olarak 18f67k22 kullanıyorum.Dokunmatik ekranı kullanabiliyorum fakat dokunmatik çok verimsiz.Ana prensip olarak internette bulduğum diğer algoritmalardan farklı değil.Dokunmatik ekrandan çıkan 4 pinin 2sini sürücü olarak diğer 2 sini analog kullanıyorum.Aşağıda bir eksen için okuduğum kodu yazıyorum bir yanlışım var mıdır?yada daha verimli hale getirebilirim?Bu konudaki deneyimlerinizi paylaşırsanız sevinirim.İyi çalışmalar.

g1 g2 analog pinlerim a2 a3 kontol pinleri

void adcx()
{

           set_tris_g(0x04); // kullanmaycağım adc pinini çıkış yapıyorum
             bilgi=0;sonuc=0;
 
   Delay_ms(5);
setup_adc(ADC_CLOCK_INTERNAL);
setup_adc_ports(sAN19|VSS_VDD);  // 19 pinden adc için set ediyorum

         output_high(pin_a3);  //sürücülerden biri 0 v
         output_low(pin_a2);   //sürücülerin biri 5v
         output_high(pin_g2);  // diğer adc yi yüksek empedansa çekiyorum
 
    for (ortalama=0; ortalama<100; ortalama++)
    { set_adc_channel(19);
     Delay_ms(5);   
      bilgi=bilgi+read_adc();   
    }
      bilgi=bilgi/100;  //100 örneğin ortalaması
}
Başlık: Ynt: wg240128b glcd touchscreen 18f67k22
Gönderen: diot - 11 Aralık 2012, 16:14:26
100 okumanın ortalaması fazla değilmi ? ben 10 adet okumanın ortalamasını alıyorum. 100 adette dokunmatik yavaşlar .
Başlık: Ynt: wg240128b glcd touchscreen 18f67k22
Gönderen: JKramer - 11 Aralık 2012, 16:34:50
Adc clock'u katalogdan bakıp uygun değere ayarlamalısınız.
Adc ayar komutlarını her seferinde yazmayın, programın en başında bir kez tanımlamanız yeterli.
Eğer tek kanal adc kullanacaksanız set_adc_channel ile kanalı programın en başında bir kez belirlemeniz yeterli. Başka kanallarda okuma yapacaksanız bile kanal ayarını for döngüsünde değil, dışında yapmalısınız.
Kanal ayarından sonraki bekleme çok fazla, kataloğa göre uygun değere düşürebilirsiniz.
100 ortalama yerine 2'nin katları bir sayı belirlerseniz (64,128,vb.) bölme işlemi hızlanır. Şu anda 500 ms for döngüsünde, kim bilir ne kadar zaman da bilgi/100'de kaybediyorsunuz.
Bugün konuşulan STM ile ilgili bir başlık var, adc ile ilgili orasını da inceleyebilirsiniz.
Başlık: Ynt: wg240128b glcd touchscreen 18f67k22
Gönderen: skara1214 - 11 Aralık 2012, 17:01:52
hazır dokunmatik ic kullan sıkıntılardan kurtul