Bon s'a y'est ça marche mais il a fallu que je me prenne la tête ]
alors pour cela j'ai
trafiqué le code fournie par le constructeur comme suit :
/**********************************************
Pay an attention!
This code is designed for Arduino Mega board.
modifier par Helodermakris le 28_11_12
**********************************************/
#include <UTFT.h>
extern uint8_t SmallFont[];
/**********************************************
Define zone
**********************************************/
#define RS 38
#define WR 39
#define CS 40
#define RST 41
#define T_CLK 6
#define T_CS 5
#define T_DIN 4
#define T_DOUT 3
#define T_IRQ 2
#define PREC_TOUCH_CONST 10
#define PixSizeX 4.81//4.8
#define PixOffsX 140//20
#define PixSizeY 7.80//7.8
#define PixOffsY 230//20
UTFT myGLCD(ITDB50,38,39,40,41);
/**********************************************
Val Zone
**********************************************/
int TP_X,TP_Y;
void Touch_Init(void)
{
pinMode(T_CLK, OUTPUT);
pinMode(T_CS, OUTPUT);
pinMode(T_DIN, OUTPUT);
pinMode(T_DOUT, INPUT);
pinMode(T_IRQ, INPUT);
digitalWrite(T_CS, HIGH);
digitalWrite(T_CLK, HIGH);
digitalWrite(T_DIN, HIGH);
digitalWrite(T_CLK, HIGH);
}
void Touch_WriteData(unsigned char data)
{
unsigned char temp;
unsigned char nop;
unsigned char count;
temp=data;
digitalWrite(T_CLK,LOW);
for(count=0; count<8; count++)
{
if(temp & 0x80)
digitalWrite(T_DIN, HIGH);
else
digitalWrite(T_DIN, LOW);
temp = temp << 1;
digitalWrite(T_CLK, LOW);
nop++;
digitalWrite(T_CLK, HIGH);
nop++;
}
}
unsigned int Touch_ReadData()
{
unsigned char nop;
unsigned int data = 0;
unsigned char count;
for(count=0; count<12; count++)
{
data <<= 1;
digitalWrite(T_CLK, HIGH);
nop++;
digitalWrite(T_CLK, LOW);
nop++;
if (digitalRead(T_DOUT))
data++;
}
return(data);
}
void Touch_Read()
{
unsigned long tx=0;
unsigned long ty=0;
digitalWrite(T_CS,LOW);
for (int i=0; i<PREC_TOUCH_CONST; i++)
{
Touch_WriteData(0x90);
digitalWrite(T_CLK,HIGH);
digitalWrite(T_CLK,LOW);
ty+=Touch_ReadData();
Touch_WriteData(0xD0);
digitalWrite(T_CLK,HIGH);
digitalWrite(T_CLK,LOW);
tx+=Touch_ReadData();
}
digitalWrite(T_CS,HIGH);
TP_X=tx/PREC_TOUCH_CONST;
TP_Y=ty/PREC_TOUCH_CONST;
}
char Touch_DataAvailable()
{
char avail;
avail = !digitalRead(T_IRQ);
return avail;
}
int Touch_GetX()
{
int value;
value = ((TP_X-PixOffsX)/PixSizeX);
if (value < 0)
value = 0;
return value;
}
int Touch_GetY()
{
int value;
value = ((TP_Y-PixOffsY)/PixSizeY);
if (value < 0)
value = 0;
return value;
}
void setup()
{
myGLCD.InitLCD(LANDSCAPE);
//myGLCD.clrScr(255,255,255);
myGLCD.setFont(SmallFont);
Touch_Init();
myGLCD.fillScr(255,255,255);
}
void loop()
{
unsigned int i,j;
while(Touch_DataAvailable() == 1)
{
Touch_Read();
i = Touch_GetX();
j = Touch_GetY();
myGLCD.setColor(0, 0, 0);
myGLCD.drawPixel (Touch_GetX(), Touch_GetY());
}
}