Cambiar variable mostrada en display con un botón

Hola! Estoy realizando un proyectos sobre un jardín inteligente donde todos los datos que arroja un sensor son mostrados en un display LCD. Quiero que cada vez que apreto el botón me muestre una variable distinta (que pase de la temperatura ambiente a la humedad ambiente etc). Que cambios deberia hacerle a mi código para poder hacer esto?

#include <LiquidCrystal.h>

LiquidCrystal lcd (7,6,5,4,3,2);


#include <DHT.h>
#include <DHT_U.h>
int SENSORHUMEDAD = 12;
int HUMEDADAMBIENTE;
DHT dht(SENSORHUMEDAD, DHT11);

int RELE = 8;
int VALOR;
int VALOR2;
int VALOR3;
float TEMPERATURA;
int PORCENTAJELUZ;
int PORCENTAJEHUMEDAD;
int BOMBA = 1;
int LED = 13;

void setup() {
  
  lcd.begin(16,2);
  pinMode(BOMBA,OUTPUT);
  pinMode(RELE,OUTPUT);
  pinMode(LED, OUTPUT);
  dht.begin();
  Serial.begin(9600);
}

void loop() {
  
 
 lcd.setCursor(0,0);
 lcd.print("LUZ ");
 lcd.print(PORCENTAJELUZ);
 lcd.print(" %");
 lcd.setCursor(0,1);
 lcd.print("TEMP ");
 lcd.print(TEMPERATURA,1);
 lcd.print("C");

 
 Serial.print("La iluminación es del: " ); 
Serial.print(PORCENTAJELUZ ); 
Serial.print("%"); 
Serial.print("      La temperatura es de ");
Serial.print(TEMPERATURA,1);
Serial. print(" C");
Serial.print("      La humedad del suelo es del: ");
Serial. print(PORCENTAJEHUMEDAD);
Serial.print("%");
Serial.print("      La humedad ambiente es de ");
Serial.print(HUMEDADAMBIENTE);
Serial.println();



VALOR = analogRead(A1);
PORCENTAJELUZ = map (VALOR, 0, 1023, 0, 100);
if (PORCENTAJELUZ <= 20  ){
  digitalWrite (RELE, LOW);
  delay(100);
}
else {
  digitalWrite (RELE,HIGH);
}

VALOR2 = analogRead(A0);
PORCENTAJEHUMEDAD = map (VALOR2, 1023, 0, 0, 100);
if (PORCENTAJEHUMEDAD <= 10){
  digitalWrite(BOMBA, HIGH);
}
else {
  digitalWrite (BOMBA,LOW);
}
 VALOR3 = analogRead(A2);
TEMPERATURA = ((VALOR3 * 5000.0) /1023) / 10;
 delay (1000);
 
 
HUMEDADAMBIENTE = dht.readHumidity();

digitalWrite (LED, HIGH);
delay(1000);
digitalWrite(LED,LOW);



}

Para comenzar un código que responda a pulsaciones de un boton con delay(1000) a cada paso es imposible.
Ve a Documentación => Indice de temas tutoriales => millis()

Ahi tienes 4 o 5 tutoriales que te enseñarán como hacer lo mismo sin delay().
Entonces cuando resuelvas eso, mira mas abajo y encontrarás otro tutorial de Ejercicios de Millis() y botones que te será de mucha ayuda.

Como ha dicho surbyte deberias de usar la funcion millis() para no tener delay, si lo que quieres es con un botón cambiar la opción que parece en pantalla, yo usario una maquina de estados que varié el estado depende de la pulsación, hay bastantes ejemplos por google, incluso lo podrias hacer por tiempo con la funcion millis