TFT_320QVT touch panel de 3 tane led kontrol etmem gerek . Yani ekranda birinci butona dokunduğum zaman 1 led , ikinci butona bastığımda 2. led , 3. butona bastığımda ise 3. led in yanmasını istiyorum . Burdan doğru kendimi geliştireceğim yardım ederseniz sevinirim
touch paneli bağla touch buton örneğini yükle gerisi kolay…
tavsiyen için teşekkür ederim yalnız onun üzerinden gitmeye çalıştım ama c bilgim o kadar çok değil . daha anlaşılır birşey bulmam gerekiyor .
devreyi birleştir örneği yükle çalıştır ve kurcalamaya başla. bu işte aklındaki veya aradığın kodu hiç bir zaman bulamayacaksın, buldukların da eksik veya fazla olacak öğrenmenin en kolay kolu bol bol deneme yapmaktan geçiyor. ayrıca bahsettiğin touch panel ile ilgili bir datasheet yada bulduğun yerin bir linki olursa örnek program bulmak daha kolay olur. çoğu devreler sadece lcd bulunduruyor seninki fazladan dokunmatik, tum bunları surmek için elindeki devreye uygun surucu kutuphaneleri bulman lazım önce yada oturup kendi kutuphaneni yazacaksın…
touch panelimle ilgili tüm datasheetleri indirdim örnek programların üstünden gitmeye çalışıyorum yalnız bu benim için çok da kolay olmuyor
biraz ilerledim ama biryerde takıldım . touch panelde belli biryere dokunuyorm kare içerisinde dokunduğumu gösteriyor ama buna komutu veremiyorum . bu komut hakkında bir bilginiz var mı ?
kodu buraya yapıştır bakalım. fikrim yok…
include dht11.h include tinyFAT.h include UTouch.h include UTFT.h include UTFT_tinyFAT.h define DHT11PIN 8 define DHT11PINN 10 define DHT11PINNN 12 dht11 DHT11; UTouch myTouch( 6, 5, 4, 3, 2); extern uint8_t BigFont; int x, y; char stCurrent[20]=“”; int stCurrentLen=0; char stLast[20]=“”; UTFT myGLCD(ITDB32S, 38, 39, 40, 41); UTFT_tinyFAT myFiles(&myGLCD); void drawButtons() { { } // Draw the center row of buttons for (x=0; x<5; x++) { } } // Draw a red frame while a button is touched void waitForIt(int x1, int y1, int x2, int y2) { myGLCD.setColor(0, 0, 0); myGLCD.drawRoundRect (x1, y1, x2, y2); while (myTouch.dataAvailable()) myTouch.read(); myGLCD.setColor(255, 255, 255); myGLCD.drawRoundRect (x1, y1, x2, y2); } void setup() { { // Initial setup myGLCD.InitLCD(); myGLCD.clrScr(); myTouch.InitTouch(); myTouch.setPrecision(PREC_MEDIUM); myGLCD.InitLCD(); myGLCD.clrScr(); file.initFAT(); myGLCD.setColor(0,0,0); myGLCD.setFont(BigFont); myFiles.loadBitmap(0,0,320,240,“ad.raw”); Serial.begin(9600); Serial.println("Ege Üniversitesi - Bergama MYO / Onur - Engin Proje "); } } void loop() { while (true) { if (myTouch.dataAvailable()) { myTouch.read(); x=myTouch.getX(); y=myTouch.getY(); if ((y>=10) && (y<=70)) // Upper row { if ((x>=10) && (x<=70)) // Button: 1 { waitForIt(10, 10, 70, 60); } if ((x>=90) && (x<=150)) // Button: 2 { waitForIt(90, 10, 150 , 60); } if ((x>=170) && (x<=230)) // Button: 3 { waitForIt(170, 10, 230, 60); } if ((x>=250) && (x<=310)) // Button: 4 { waitForIt(250, 10, 310, 60); Serial.println(); int sens1 = DHT11.read(DHT11PIN); Serial.print("SU (Celcius): "); Serial.println((float)DHT11.temperature, 1); myGLCD.printNumF((float)DHT11.temperature, 1, 40, 100); Serial.println(); int sens2 = DHT11.read(DHT11PINN); Serial.print("Kola (Celcius): "); Serial.println((float)DHT11.temperature, 1); myGLCD.printNumF((float)DHT11.temperature, 1, CENTER, 100); Serial.println(); int sens3 = DHT11.read(DHT11PINNN); Serial.print("Kahve (Celcius): "); Serial.println((float)DHT11.temperature, 1); myGLCD.printNumF((float)DHT11.temperature, 1, 230, 100); delay(2000); } } } } }
şu adreste http://henningkarlsen.com/electronics/library.php?id=55 son kütüphanesi ve açıklama pdf i var. while (true) { if (myTouch.dataAvailable()) { myTouch.read(); x=myTouch.getX(); y=myTouch.getY(); if ((y>=10) && (y<=70)) // Upper row { if ((x>=10) && (x<=70)) // Button: 1 { waitForIt(10, 10, 70, 60); // // bu noktaya bu butona basıldığında ne yapmasını istiyorsan o kodları yaz. // } } } } genel olarak kullanımı mytouch.dataavailable() den sonra mytouch.read() ile ekrana son dokunulan pzisyon bilgisi okunur arkasından gerekirse myTouch.getX(); myTouch.getY(); ile x,y koordinatı okunur alınan x,y den hangi buton koordinatları arasına denk geldiği bulunur ve orada işlenmek istenen kodlar yazılır. ekran koordinat sistemine göre butonu 2 xy noktası ile tanımlamak mumkun. bu noktalar birbirne çapraz-diagonal olur. bir if le bu noktaları test edersin denk geliyorsa istersen göbek attırırsın.
bunu denemiştim ama bi sonuç elde edememiştim . şimdi ise oldu enteresan
yardımınız için teşekkürler . iyi forumlar.