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.
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
Post a Comment