Besoin d'aide pour programmer sur écran tactile

Bonjours bonsoir à tous.
Pour un projet pour mes étude je dois codé un menu pour un écran tactile et j’ai qu’elle que questions ^^.J’ai réussi à coder et à faire fonctionner le squelette de mon menu mais les boutons clignotent et je n’arrive pas à afficher des caractères :(. Voici mon programme :

#include <UTFT.h>
#include <URTouch.h>
int selecteurPage=5;
int x=0;
int y=0;
int sonde=0;
int heure1=0;
int heure2=0;
int minute1=0;
int minute2=0;
UTFT    myGLCD(ITDB32S,38,39,40,41);
URTouch  myTouch( 6, 5, 4, 3, 2);
extern uint8_t BigFont[];
void setup() {
myGLCD.InitLCD();
myTouch.InitTouch();
myTouch.setPrecision(PREC_HI);
extern uint8_t SmallFont[];
  // put your setup code here, to run once:
}

void loop() {
  // put your main code here, to run repeatedly:
switch(selecteurPage){
    case 0:
      Menu_Prim();
      break;
    case 1:
Menu_index() ;
      break;
    case 2:
Menu_1() ;
      break;
    case 3:
Menu_12() ;
      break;
    case 4:
Menu_sonde() ;
      break;
    case 5:
Menu_horloge() ;
      break;
    case 6:
Menu_sms();
      break;
default :
      Menu_Prim();
      break;
}
}

void Menu_Prim(){
  myGLCD.fillScr(255,255,255);
  myGLCD.fillRect(20,10,150,60);
  myGLCD.setColor(0,0,0);
  if (TestTouche(20,10,150,60)==true){
    selecteurPage=1;
    return;
  }
  else
  {
    selecteurPage=0;
  }
    /*myTouch.read();
    x = myTouch.getX();
    y = myTouch.getY();
    if((y>10) and (y<60))
    {
      if((x>20) and (x<150)){
        selecteurPage=1;
      }
       else
  {
    selecteurPage=0;
  }
    }
    */
  }
  

void Menu_index(){
 myGLCD.fillScr(255,0,0);
 myGLCD.fillRect(20,10,150,60);
 myGLCD.fillRect(180,110,310,160);
  myGLCD.fillRect(180,180,310,230);
 myGLCD.fillRect(20,110,150,160);
 myGLCD.fillRect(20,180,150,230);
 if (TestTouche(20,10,150,60)==true){
    selecteurPage=0;
    return;
  }
   if (TestTouche(180,180,310,230)==true){
    selecteurPage=2;
    return;
  }
   if (TestTouche(20,180,150,230)==true){
    selecteurPage=4;
    return;
  }
   if (TestTouche(180,110,310,160)==true){
    selecteurPage=5;
    return;
  }
     if (TestTouche(20,110,310,60)==true){
    selecteurPage=6;
    return;
  }
  else
  {
    selecteurPage=1;
  }

 
  /*myTouch.read();
    x = myTouch.getX();
    y = myTouch.getY();
    if((y>10) and (y<60))
    {
      if((x>180) and (x<310))
      {
        selecteurPage=0;
          
      }
    }
     if((y>180) and (y<230))
    {
      if((x>180) and (x<310))
      {
        selecteurPage=5; 
      }
    }
     if((y>180) and (y<230))
    {
      if((x>20) and (x<150))
      {
        selecteurPage=6; 
      }
    }
       else
    {
      selecteurPage=1;
    }
    */
} 
void Menu_1()
{
  myGLCD.fillScr(0,255,0);
  myGLCD.fillRect(20,10,150,60);
  myGLCD.setColor(0,0,0);
   if (TestTouche(20,10,150,60)==true){
    selecteurPage=1;
  }
  else
  {
    selecteurPage=2;
  }
    }  
void Menu_12()
  {
  myGLCD.fillScr(0,255,0);
  myGLCD.fillRect(20,10,150,60);
  myGLCD.setColor(0,0,0);
  if (TestTouche(20,10,150,60)==true){
    selecteurPage=2;
  }
  else
  {
    selecteurPage=3;
  }
} 
void Menu_sonde()
{
  myGLCD.fillScr(255,0,255);
  myGLCD.fillRect(20,10,150,60);
  myGLCD.fillRect(180,110,310,160);
  myGLCD.fillRect(20,110,150,160);
  myGLCD.setColor(0,0,0);
  if (TestTouche(20,10,150,60)==true){
    selecteurPage=1;
    return;
  }
  if (TestTouche(180,110,310,160)==true){
    sonde=1;
    return;
  }
     if (TestTouche(20,110,310,60)==true){
    sonde=0;
    return;
  }
  else
  {
    selecteurPage=4;
  }
}
void Menu_horloge()
{
  myGLCD.clrScr();
  myGLCD.setColor(255, 255, 255);
  myGLCD.drawRect(20,10,150,60);
  myGLCD.drawRect(180,110,230,160);
  myGLCD.drawRect(250,110,300,160);
  myGLCD.drawRect(20,110,70,160);
  myGLCD.drawRect(90,110,140,160);
  myGLCD.print("-",CENTER,100);
  myGLCD.print("+",275,135);
  myGLCD.print("-",45,135);
  myGLCD.print("+",115,135);
    myGLCD.print("0", 267, 87);
  if (TestTouche(20,10,150,60)==true){
    selecteurPage=1;
    return;
  }
  if (TestTouche(180,110,230,160)==true)
  {
    heure1=heure1-1;
    return;
  }
  if(TestTouche(250,110,300,160)==true)
  {
     heure1=heure1+1;
     return;
  }
  if(TestTouche(20,110,70,160)==true)
  {
     minute1=minute1-1;
     return;
  }
  if(TestTouche(90,110,140,160)==true)
  {
     minute1=minute1+1;
     return;
  }
  if(heure1>24)
  {
    heure1=0;
    return;
  }
  if(minute1>60)
  {
    minute1=0;
  }
}
void Menu_sms()
{
  myGLCD.clrScr();
  //myGLCD.fillScr(255,255,0);
  myGLCD.fillRect(20,10,150,60);
  myGLCD.setColor(255,255,255);
  if (TestTouche(20,10,150,60)==true){
    selecteurPage=1;
  }
  else
  {
    selecteurPage=6;
  }
}
  boolean TestTouche( int zoneX, int zoneY,int Longueur,int hauteur)
  {
   int X, Y,testX,testY; // varriable 
  if (myTouch.dataAvailable())// dataAvailable() est une fonction de la lib Utouch.h
    {
        myTouch.read();// read() est une fonction de la lib Utouch.h
        X=myTouch.getX(), Y=myTouch.getY();// getX et getY() sont des fonction de la lib Utouch.h
        //---- vérifie si appui sur la touche "+" ---------
        testX=abs(X-(zoneX+Longueur/2)); // calcul valeur absolue de l'écart de X touchpad à la  Zone X centre touche
        testY=abs(Y-(zoneY+hauteur/2)); // calcul valeur absolue de l'écart de Y touchpad à la  Zone Y centre touche
        if (testX<Longueur/2 && testY<hauteur/2)
         {return true;}
        else
         { return false;}
    }
    return false;
 
}

Merci de votre aide :slight_smile:

inutile d'ouvrir plusieurs posts
continue sur TON PREMIER POST