Não consigo mostrar data e hora no display LCD 2,4 TFT com RTC DS3231! AJUDA

Em que sentido é que interferiria?

Este pedaço de código:

    while((millis() - valor_millis) >= 4000)
    {
      tft.fillScreen(PRETO);
      tft.setFont(&FreeSansBold9pt7b);
      tft.setCursor(50, 120);
      tft.setTextColor(VERMELHO);
      tft.setTextSize(2);
      tft.print("Para que piso\n\n");
      tft.setCursor(40, 160);
      tft.setTextColor(VERMELHO);
      tft.setTextSize(2);
      tft.print("Que deseja ir?");
      valor_millis = millis();
     }

Fica aqui bloqueado durante 4 segundos... é apenas marginalmente melhor do que um delay(). Além do mais, se a pessoa carregar no botão dentro do primeiro segundo o teu programa não vai apanhar isso.

Porque é que tens de executar estas instruções todas durante 4 segundos repetidamente???

As tuas temporizações e o que tu pensas ser necessário é o que está a confundir o projecto todo.