2.4'' TFT LCD Touch screen, can't touch!!


has used tft lcd touch screen on arduino uno rev3?
http://www.ebay.it/itm/121352096483?sspagename=strk:mewnx:it&_trksid=p3984.m1439.l2649 using right shield

i've bought , can make works drawing shapes, text , on code, can't make works on touches events.

i'm trying use code configurate arduino uno rev 3.

code: [select]
// utouch_quickpaint (c)2013-2014 henning karlsen
// web: http://www.henningkarlsen.com/electronics
//
// program quick demo of how use library.
//
// program requires utft library , display
// module @ least 320x240 pixels resolution.
//
// assumed display module connected an
// appropriate shield or know how change pin
// numbers in setup.
//

#include <utft.h>
#include <utouch.h>

// initialize display
// ------------------
// set pins correct ones development board
// -----------------------------------------------------------
// standard arduino uno/2009 shield            : <display model>,19,18,17,16
// standard arduino mega/due shield            : <display model>,38,39,40,41
// cte tft lcd/sd shield arduino due       : <display model>,25,26,27,28
// teensy 3.x tft test board                   : <display model>,23,22, 3, 4
// elechouse tft lcd/sd shield arduino due : <display model>,22,23,31,33
//
// remember change model parameter suit display module!
utft    myglcd(itdb24d,19,18,17,16);

// initialize touchscreen
// ----------------------
// set pins correct ones development board
// -----------------------------------------------------------
// standard arduino uno/2009 shield            : 15,10,14, 9, 8
// standard arduino mega/due shield            :  6, 5, 4, 3, 2
// cte tft lcd/sd shield arduino due       :  6, 5, 4, 3, 2
// teensy 3.x tft test board                   : 26,31,27,28,29
// elechouse tft lcd/sd shield arduino due : 25,26,27,29,30
//
utouch  mytouch( 15, 10, 14, 9, 8);

// declare fonts using
extern uint8_t bigfont[];

int color = 0;
word colorlist[] = {vga_white, vga_black, vga_red, vga_blue, vga_green, vga_fuchsia, vga_yellow, vga_aqua};
int  bsize = 4;

void drawcolormarkerandbrushsize(int col)
{
  myglcd.setcolor(vga_black);
  myglcd.fillrect(25, 0, 31, 239);
  myglcd.fillrect(myglcd.getdisplayxsize()-31, 161, myglcd.getdisplayxsize()-1, 191);
  myglcd.setcolor(vga_white);
  myglcd.drawpixel(25, (col*30)+15);
  (int i=1; i<7; i++)
    myglcd.drawline(25+i, ((col*30)+15)-i, 25+i, ((col*30)+15)+i);
 
  if (color==1)
    myglcd.setcolor(vga_white);
  else
    myglcd.setcolor(colorlist[col]);
  if (bsize==1)
    myglcd.drawpixel(myglcd.getdisplayxsize()-15, 177);
  else
    myglcd.fillcircle(myglcd.getdisplayxsize()-15, 177, bsize);
   
  myglcd.setcolor(colorlist[col]);
}

void setup()
{
  myglcd.initlcd();
  myglcd.clrscr();
  myglcd.setfont(bigfont);

  mytouch.inittouch();
  mytouch.setprecision(prec_hi);
 
  myglcd.setcolor(vga_white);
  myglcd.drawline(32,0,32,myglcd.getdisplayysize()-1);
  myglcd.drawline(myglcd.getdisplayxsize()-32,0,myglcd.getdisplayxsize()-32,myglcd.getdisplayysize()-1);
  myglcd.print("c", myglcd.getdisplayxsize()-24, 8);
  myglcd.print("l", myglcd.getdisplayxsize()-24, 24);
  myglcd.print("e", myglcd.getdisplayxsize()-24, 40);
  myglcd.print("a", myglcd.getdisplayxsize()-24, 56);
  myglcd.print("r", myglcd.getdisplayxsize()-24, 72);
  myglcd.print("+", myglcd.getdisplayxsize()-24, 136);
  myglcd.print("-", myglcd.getdisplayxsize()-24, 200);
  myglcd.fillrect(myglcd.getdisplayxsize()-32,96,myglcd.getdisplayxsize()-1,128);
  myglcd.drawline(myglcd.getdisplayxsize()-32,160,myglcd.getdisplayxsize()-1,160);
  myglcd.drawline(myglcd.getdisplayxsize()-32,192,myglcd.getdisplayxsize()-1,192);
  myglcd.drawline(myglcd.getdisplayxsize()-32,224,myglcd.getdisplayxsize()-1,224);
  (int i=0; i<8; i++)
  {
    myglcd.setcolor(colorlist[i]);
    myglcd.fillrect(0, (i*30), 24, (((i+1)*30)-1));
  }
  drawcolormarkerandbrushsize(color);
}

void loop()
{
  long x, y;
 
  while (mytouch.dataavailable() == true)
  {
    mytouch.read();
    x = mytouch.getx();
    y = mytouch.gety();
    if ((x!=-1) , (y!=-1))
    {
      if (x>(31+bsize) , (x<myglcd.getdisplayxsize()-(31+bsize)))
      {
        if (bsize==1)
          myglcd.drawpixel(x, y);
        else
          myglcd.fillcircle(x, y, bsize);
      }
      else
      {
        if (x<(30+bsize))
        {
          if (y<240)
          {
            color = y / 30;
            drawcolormarkerandbrushsize(color);
            while (mytouch.dataavailable()) {};
            delay(50);
         }
        }
        else
        {
          if (y<96)
          {
            myglcd.setcolor(vga_black);
            myglcd.fillrect(33, 0, myglcd.getdisplayxsize()-33, myglcd.getdisplayysize()-1);
            myglcd.setcolor(colorlist[color]);
          }
          if ((y>128) , (y<160))
          {
            if (bsize<7)
            {
              bsize++;
              drawcolormarkerandbrushsize(color);
              while (mytouch.dataavailable()) {};
              delay(50);
            }
          }
          if ((y>160) , (y<192))
          {
              bsize=4;
              drawcolormarkerandbrushsize(color);
              while (mytouch.dataavailable()) {};
              delay(50);
          }
          if ((y>192) , (y<224))
          {
            if (bsize>1)
            {
              bsize--;
              drawcolormarkerandbrushsize(color);
              while (mytouch.dataavailable()) {};
              delay(50);
            }
          }
        }
      }
    }
  }
}

code: [select]
utouch  mytouch( 15, 10, 14, 9, 8);

just check part of line . https://github.com/adafruit/tftlcd-library/tree/master/examples try library. pin mapping using not correct.

below link can use it has correct pinout configuration


Arduino Forum > Using Arduino > Displays > 2.4'' TFT LCD Touch screen, can't touch!!


arduino

Comments

Popular posts from this blog

Connecting Raspberry Pi 2 to P10(1R)-V706 LED Dot Matrix - Raspberry Pi Forums

TypeError: <unknown> is not a numpy array - Raspberry Pi Forums

datso and removing imagetitle - Joomla! Forum - community, help and support