Mi pantalla lcd se queda en blanco

Este es el código

#include <URTouch.h>      // libreria de la parte de touch de la pantalla 
#include <UTFT.h>         //  libreriad e la pantalla utft
#include "StringSplitter.h"  // libreria de la divicion de un string 


// configuracion de la pantalla //

UTFT myGLCD(ITDB32S,38,39,40,41); // declaración de los pines de la pantalla UTFT
URTouch myTouch( 6, 5, 4, 3, 2); // declaracion de los pines del touch de la pantala UTFT

//declaracion de variables //

extern uint8_t arial_bold[]; //  inicializo un arreglo de 8 bit  
int screen=0; // creo una variable INT de nombre screen y la inicializo en 0
int x, y;  // creo dos variables  enteras llamadas X, Y 
String data =""; // creo una variable tipo String llamada data vacia 
int ambiente=0; // creo una variable entera llamda ambiente  y la inicalizo en 0
int time_1=0; // creo una variable entera llamada time_1 y la inicializo en 0 
int time_elapsed;  // creo una variable entera llamada time_elpsed 


// creo una funcion que muestar la segunda pantalla //

void screen2(String dat){
  
  myGLCD.clrScr();  // borro todo lo de la pantalla 
  myGLCD.fillScr(0,0,153);  // ubico mi inicio de escritura en la pantalla 
  myGLCD.setColor(255,255,255);  //declaro el color de la pantalla  en rbg 
  myGLCD.setBackColor(0,0,153); //declaro el color de la pantalla  en rbg
  myGLCD.print("Bienvenido", CENTER, 6);  // imprimo en la pantalla el texto en unA cordenada especifica 
  myGLCD.print(dat, CENTER, 25);  // imprimo en la pantalla el texto en unA cordenada especifica 
  myGLCD.print("Seleccione el ", CENTER, 48);  // imprimo en la pantalla el texto en unA cordenada especifica 
  myGLCD.print("ambiente que desea", CENTER, 64);  // imprimo en la pantalla el texto en unA cordenada especifica 
  myGLCD.print("ingresar.", CENTER, 80);  // imprimo en la pantalla el texto en unA cordenada especifica 
  //Back Button
  myGLCD.fillRect(120,180,207,220); // creo un rectangulo  que va ser un botton 
  myGLCD.setColor(0,0,153);  // seteo el color del rectangulo 
  myGLCD.setBackColor(255, 255,255); //asigno el color del rectangulo 
  myGLCD.print("Salir", 125, 189);  //  imprimo texto en la cordenada del boton 
  //M-1 Button
  myGLCD.setColor(255,255,255);  // creo un rectangulo  que va ser un botton 
  myGLCD.fillRect(17,110,62,140); // seteo el color del rectangulo 
  myGLCD.setColor(0,0,153); //asigno el color del rectangulo
  myGLCD.print("M1",26,116); //  imprimo texto en la cordenada del boton 
  //M-2 Button
  myGLCD.setColor(255,255,255);  // creo un rectangulo  que va ser un botton 
  myGLCD.fillRect(77,110,122,140);// seteo el color del rectangulo 
  myGLCD.setColor(0,0,153); //asigno el color del rectangulo
  myGLCD.print("M2",86,116); //  imprimo texto en la cordenada del boton 
  //M-3 Button
  myGLCD.setColor(255,255,255);// creo un rectangulo  que va ser un botton 
  myGLCD.fillRect(137,110,182,140);// seteo el color del rectangulo 
  myGLCD.setColor(0,0,153); //asigno el color del rectangulo
  myGLCD.print("M3",146,116);//  imprimo texto en la cordenada del boton 
  //M-4 Button
  myGLCD.setColor(255,255,255); // creo un rectangulo  que va ser un botton 
  myGLCD.fillRect(197,110,242,140);// seteo el color del rectangulo 
  myGLCD.setColor(0,0,153);//asigno el color del rectangulo
  myGLCD.print("M4",206,116);//  imprimo texto en la cordenada del boton 
  //M-5 Button
  myGLCD.setColor(255,255,255); // creo un rectangulo  que va ser un botton 
  myGLCD.fillRect(257,110,302,140);// seteo el color del rectangulo 
  myGLCD.setColor(0,0,153);//asigno el color del rectangulo
  myGLCD.print("M5",266,116);//  imprimo texto en la cordenada del boton 
  while(1)   // creo un cliclo infinito  while
  {
  if(myTouch.dataAvailable()) // condiciono que si han tocado una parte de la pantalla envie un dato y entren a la rutia 
  {
    myTouch.read(); // leo el dato de la pantalla 
    x=myTouch.getX();// asigno en la variable x el dato de la pantalla de la cordenada x
    y=myTouch.getY();// asigno en la variable y el dato de la pantalla de la cordenada Y
    if(x>17 && x<62 && y>110 && y<140) // condiciono que si la variave x y y estan entre un rango de cordenadas entrea a la rutina del if
    {
      Serial.println("entro");// imprimo en la pantalla del arduino la palabra entrar 
      digitalWrite(13,LOW);// coloco el pin 13 del arduino en bajo 
  myGLCD.fillScr(0,0,153);//ubico mi inicio de escritura en la pantalla 
  myGLCD.setColor(255,255,255);// seteo el color de la pantalla 
  myGLCD.setBackColor(0,0,153); // asigno un color a la pantalla 
  myGLCD.print("AMBIENTE",CENTER, 10 ); //imprimo en la pantalla el texto en las cordenadas espesificas 
  myGLCD.print("M1-PROLOG",CENTER,60);//imprimo en la pantalla el texto en las cordenadas espesificas 
  myGLCD.print("Tiene 30 segundos",CENTER,110);//imprimo en la pantalla el texto en las cordenadas espesificas 
  myGLCD.print("Para Ingresar",CENTER,138);//imprimo en la pantalla el texto en las cordenadas espesificas 
  Serial1.println(dat+",1"); // envio por el puerto serial el dato recopilado de la trajeta rfid y el texto 
     
      delay(200);// genero un retardo de 30000 milisegundos 
      digitalWrite(13,HIGH); // coloco el pin 13 en alto 
      delay(200);// genero un retardo de 30000 milisegundos 
      digitalWrite(13,HIGH); // coloco el pin 13 en alto 
      delay(200);// genero un retardo de 30000 milisegundos 
      digitalWrite(13,HIGH); // coloco el pin 13 en alto 
      delay(200);// genero un retardo de 30000 milisegundos 
      digitalWrite(13,HIGH); // coloco el pin 13 en alto 
      delay(200);// genero un retardo de 30000 milisegundos 
      digitalWrite(13,HIGH); // coloco el pin 13 en alto 
      delay(200);// genero un retardo de 30000 milisegundos 
      digitalWrite(13,HIGH); // coloco el pin 13 en alto 
      
      loop(); //redirecciono el programam  a la funcion rpincila del mismo 
    }
    if(x>77 && x<122 && y>110 && y<140){ // condiciono que si la variave x y y estan entre un rango de cordenadas entrea a la rutina del if
      digitalWrite(12,LOW);//  coloco el pin 13 del arduino en bajo
  myGLCD.fillScr(0,0,153);//ubico el inico de la escritula en la pantalla 
  myGLCD.setColor(255,255,255);// seteo  el color en la pantalla 
  myGLCD.setBackColor(0,0,153);// asigno el color a al pantalla 
  myGLCD.print("AMBIENTE",CENTER, 10 ); //imprimo en la pantalla el texto en las cordenadas espesificas 
  myGLCD.print("M2-SIM-BOSCH-SIEMENS",CENTER,60); //imprimo en la pantalla el texto en las cordenadas espesificas 
  myGLCD.print("Tiene 30 segundos",CENTER,110);  //imprimo en la pantalla el texto en las cordenadas espesificas 
   myGLCD.print("Para Ingresar",CENTER,138);  //imprimo en la pantalla el texto en las cordenadas espesificas 
    Serial1.println(dat+",2");// envio por el puerto serial el dato recopilado de la trajeta rfid y el texto 
      delay(30000);// genero un retardo de 30000 milisegundos 
     digitalWrite(12,HIGH);// coloco el pin 13 en alto
      loop();//redirecciono el programam  a la funcion rpincila del mismo 
    }
    if(x>137 && x<182 && y>110 && y<140){// condiciono que si la variave x y y estan entre un rango de cordenadas entrea a la rutina del if
      digitalWrite(11,LOW);// coloco el pin 11 del arduino en bajo
  myGLCD.fillScr(0,0,153);//ubico el inico de la escritula en la pantalla 
  myGLCD.setColor(255,255,255);// seteo  el color en la pantalla 
  myGLCD.setBackColor(0,0,153);// asigno el color a al pantalla 
  myGLCD.print("AMBIENTE",CENTER, 10 );//imprimo en la pantalla el texto en las cordenadas espesificas 
  myGLCD.print("M3-DES-MECATRONICO",CENTER,60); //imprimo en la pantalla el texto en las cordenadas espesificas 
  myGLCD.print("Tiene 30 segundos",CENTER,110); //imprimo en la pantalla el texto en las cordenadas espesificas 
  myGLCD.print("Para Ingresar",CENTER,138); //imprimo en la pantalla el texto en las cordenadas espesificas 
   Serial1.println(dat+",3");// envio por el puerto serial el dato recopilado de la trajeta rfid y el texto 
      delay(30000);// genero un retardo de 30000 milisegundos 
      digitalWrite(11,HIGH);// coloco el pin 13 en alto
       loop();//redirecciono el programam  a la funcion rpincila del mismo 
    }
    if(x>197 && x<242 && y>110 && y<140){// condiciono que si la variave x y y estan entre un rango de cordenadas entrea a la rutina del if
      digitalWrite(10,LOW);// coloco el pin 10 del arduino en bajo
      digitalWrite(9,LOW);// coloco el pin 9 del arduino en bajo
  myGLCD.fillScr(0,0,153);//ubico el inico de la escritula en la pantalla 
  myGLCD.setColor(255,255,255);// seteo  el color en la pantalla 
  myGLCD.setBackColor(0,0,153);// asigno el color a al pantalla 
  myGLCD.print("AMBIENTE",CENTER, 10 );//imprimo en la pantalla el texto en las cordenadas espesificas 
  myGLCD.print("M4-HIDRAULICA",CENTER,60); //imprimo en la pantalla el texto en las cordenadas espesificas 
  myGLCD.print("Tiene 30 segundos",CENTER,110); //imprimo en la pantalla el texto en las cordenadas espesificas 
  myGLCD.print("Para Ingresar",CENTER,138); //imprimo en la pantalla el texto en las cordenadas espesificas 
   Serial1.println(dat+",4");// envio por el puerto serial el dato recopilado de la trajeta rfid y el texto 
      delay(30000);// genero un retardo de 30000 milisegundos 
      digitalWrite(10,HIGH);// coloco el pin 10 en alto
      digitalWrite(9,HIGH);//coloco el pin 9 en alto
       loop();//redirecciono el programam  a la funcion rpincila del mismo 
    }
    if(x>257 && x<302 && y>110 && y<140){// condiciono que si la variave x y y estan entre un rango de cordenadas entrea a la rutina del if
      digitalWrite(8,LOW);// coloco el pin 8 del arduino en bajo
          
  myGLCD.fillScr(0,0,153);//ubico el inico de la escritula en la pantalla 
  myGLCD.setColor(255,255,255);// seteo  el color en la pantalla 
  myGLCD.setBackColor(0,0,153);// asigno el color a al pantalla 
  myGLCD.print("AMBIENTE",CENTER, 10 );//imprimo en la pantalla el texto en las cordenadas espesificas 
  myGLCD.print("M5-NEUMATICA",CENTER,60);//imprimo en la pantalla el texto en las cordenadas espesificas 
  myGLCD.print("Tiene 30 segundos",CENTER,110);//imprimo en la pantalla el texto en las cordenadas espesificas 
  myGLCD.print("Para Ingresar",CENTER,138);//imprimo en la pantalla el texto en las cordenadas espesificas 
   Serial1.println(dat+",5");// envio por el puerto serial el dato recopilado de la trajeta rfid y el texto 
       delay(30000);// genero un retardo de 30000 milisegundos 
       //wait_time(300000);
        digitalWrite(8,HIGH);// coloco el pin 8 del arduino en alto
   loop();//redirecciono el programam  a la funcion rpincila del mismo 
    }
    
  if(x>120 && x<207 && y>180 && y<220){// condiciono que si la variave x y y estan entre un rango de cordenadas entrea a la rutina del if
    loop();//redirecciono el programam  a la funcion rpincila del mismo 
    }
  
  }
  
}
  delay(4000);  // relaizo un retraso de 4000 milisegundos 
}

void(* resetFunc) (void) = 0; // reseteo la funcion y la inicializo en 0 


// declaracion de variables   he inicializacion en  todo el programa 

void setup() {
 // wdt_disable();
  pinMode(13,OUTPUT);        // coloco  el pin 13 del arduino como salida 
  pinMode(12,OUTPUT);        // coloco el pin 12 del  arduino como  Salida 
  pinMode(11,OUTPUT);        // coloco el pin 11 del arduini  como salida 
  pinMode(10,OUTPUT);        // Coloco el pin  10  del arduino como salida 
  pinMode(9,OUTPUT);         // coloco el pin 9 del arduino como salida 
  pinMode(8,OUTPUT);         // coloco el pin 8 del arduino como salida 
  myGLCD.InitLCD(LANDSCAPE);        // inicializo  la pantalla 
  myGLCD.setFont(arial_bold);         
  myGLCD.clrScr();                 // borro todo lo de la pantalla 
  myGLCD.setContrast(10);  // inicializo el contraste de la pantalla 
  myTouch.InitTouch(); // inicializo el touch de la pantalla 
  myTouch.setPrecision(PREC_MEDIUM); // inicializo la snesibilidad ed la pantalla en medio 
  Serial.begin(9600); // inicializo el puerto serial del arduino  en una velocidad de 9600
  Serial1.begin(9600);// inicializo el puerto serial1 del arduino  en una velocidad de 960
  Serial1.flush();
  digitalWrite(13,HIGH);  // coloco el pin 13 del  del arduino en alto 
  digitalWrite(12,HIGH);// coloco el pin 12 del  del arduino en alto 
  digitalWrite(11,HIGH);// coloco el pin 11 del  del arduino en alto 
  digitalWrite(10,HIGH);// coloco el pin 10 del  del arduino en alto 
  digitalWrite(9,HIGH);// coloco el pin 09 del  del arduino en alto 
  digitalWrite(8,HIGH);// coloco el pin 08 del  del arduino en alto 
 // wdt_enable(WDTO_8S);
}



// funcion principal del programam //

void loop() {
  String data =""; //  seteo la variale data y la coloco bacia 
  String itema; // declaro un variable itema como string 
  String itemb;//declaro un variable itemb como string
 
  // primer texto de la pantalla //
  
  myGLCD.fillScr(0,0,153);//ubico el inico de la escritula en la pantalla 
  myGLCD.setColor(255,255,255);// seteo  el color en la pantalla
  myGLCD.setBackColor(0,0,153);//asigno el color a al pantalla 
  myGLCD.print("SENA", CENTER, 6);//imprimo en la pantalla el texto en las cordenadas espesifica
  myGLCD.print("C.D.T.I", CENTER, 25);//imprimo en la pantalla el texto en las cordenadas espesifica
  myGLCD.print("Regional Valle", CENTER, 48);//imprimo en la pantalla el texto en las cordenadas espesifica
  myGLCD.print("Bienvenidos al area", CENTER,80);//imprimo en la pantalla el texto en las cordenadas espesifica
  myGLCD.print("de mecatronica para", CENTER,96);//imprimo en la pantalla el texto en las cordenadas espesifica
  myGLCD.print("ingresar, acerque la", CENTER,112);//imprimo en la pantalla el texto en las cordenadas espesifica
  myGLCD.print("tarjeta RFID", CENTER,128);  //imprimo en la pantalla el texto en las cordenadas espesifica
  
  while(1){ //inicio un cilo while infinito que va a preguntas si hay datos en ek puestro serial 1

  if(Serial1.available()){  // condiciona si ahi datos en el puesto serial 1
    data = Serial1.readString(); // guardo el dato del puerto serial 1 en data  el cual es el nombre del instructor dado ppr la targeta rfid
    Serial.println(data);// imprimo el dato en la pantalla del arduino 
    StringSplitter *splitter = new StringSplitter(data, ',', 9);// divido el dato en varias partes como un string 
    int itemCount = splitter->getItemCount();// lo asigno a una variable imecount  como entero 
    itema = splitter->getItemAtIndex(0); 
    itemb = splitter->getItemAtIndex(1);
    Serial1.flush();
    Serial.println(itemb);
   //wdt_reset();
  }

  if(itema=="a"){ // condicions a que si hay dato en la parte del string valla a la pantalla dos
      Serial.println("ENTRO");
      screen2(itemb);// redirecciona el codigo a al apantalla dos  que esta en el principio del codigo 
    }
    else{
      Serial.println("NO"); //  si no esta siga en el codigo preguntando si ahi dato en el puerto serial 1
      
    }
}
}

Probaste un simple "Hola Mundo"?
Seguramente algún clear esta de más.
Esto
loop();//redirecciono el programam a la funcion rpincila del mismo
puede ser el responsable de tu problema. Nunca llames a loop desde ningún punto del código.

Desde screen2 esta modificado, a ver que tal funciona

void screen2(String dat){

  myGLCD.clrScr();
  myGLCD.fillScr(0,0,153);
  myGLCD.setColor(255,255,255);
  myGLCD.setBackColor(0,0,153);

  myGLCD.print("Bienvenido", CENTER, 6);
  myGLCD.print(dat, CENTER, 25);
  myGLCD.print("Seleccione el ", CENTER, 48);
  myGLCD.print("ambiente que desea", CENTER, 64);
  myGLCD.print("ingresar.", CENTER, 80);

  // Botones
  myGLCD.setColor(255,255,255);
  myGLCD.fillRect(120,180,207,220);
  myGLCD.setColor(0,0,153);
  myGLCD.setBackColor(255,255,255);
  myGLCD.print("Salir", 125, 189);

  // región genérica de botones
  struct Btn { int x1,y1,x2,y2; int ambiente; };
  Btn botones[] = {
    {17,110,62,140,1},
    {77,110,122,140,2},
    {137,110,182,140,3},
    {197,110,242,140,4},
    {257,110,302,140,5}
  };

  while(true)
  {
    if(myTouch.dataAvailable()){
      myTouch.read();
      x=myTouch.getX();
      y=myTouch.getY();

      // Botón SALIR
      if(x>120 && x<207 && y>180 && y<220){
        return;   // ← VOLVER A LOOP()
      }

      // Botones M1-M5
      for(int i=0;i<5;i++){
        if(x>botones[i].x1 && x<botones[i].x2 &&
           y>botones[i].y1 && y<botones[i].y2)
        {
          int amb = botones[i].ambiente;
          Serial1.println(dat + "," + String(amb));

          myGLCD.fillScr(0,0,153);
          myGLCD.setColor(255,255,255);
          myGLCD.setBackColor(0,0,153);

          myGLCD.print("AMBIENTE", CENTER, 10);
          myGLCD.print(("M" + String(amb)).c_str(), CENTER,60);
          myGLCD.print("Tiene 30 segundos", CENTER,110);
          myGLCD.print("Para Ingresar", CENTER,138);

          delay(30000);
          return;   // ← VOLVER A LOOP()
        }
      }
    }
  }
}

Hay que eleminar ese delay(30000) dejar 30 seg un código sin atención es mala práctica.

En base a lo que encontró @Surbyte

loop(); //redirecciono el programam  a la funcion rpincila del mismo 

Según el comentario debería llamar a una función rpincila() no a loop().

Por otro lado y más allá de lo que dice el comentario, ¿Qué se supone que hace ésto?

void(* resetFunc) (void) = 0; // reseteo la funcion y la inicializo en 0