Arduino Mega 2560 da Dokunmatik ekranda nası led kontrol edebiliriz ? LÜTFEN YARDIMM!!
  • 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++)<br /> {
    }

    }





    // 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<br /> {
    if ((x>=10) && (x<=70)) // Button: 1<br /> {
    waitForIt(10, 10, 70, 60);

    }
    if ((x>=90) && (x<=150)) // Button: 2<br /> {
    waitForIt(90, 10, 150 , 60);

    }
    if ((x>=170) && (x<=230)) // Button: 3<br /> {
    waitForIt(170, 10, 230, 60);
    }
    if ((x>=250) && (x<=310)) // Button: 4<br /> {
    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<br /> {
    if ((x>=10) && (x<=70)) // Button: 1<br /> {
    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 :D yardımınız için teşekkürler . iyi forumlar.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Login with Facebook

Tagged

Açık kaynak kültürü gereği, çözdüğünüz problemlerin çözümlerini paylaşmayı lütfen unutmayın.