[RÉSOLUT] Calibrer un ITDB02 5.0

Bon s'a y'est ça marche mais il a fallu que je me prenne la tête ]:smiley:
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());


	}
 
}