control de temperatura con display y extractores de aire

Desde ya muchas gracias
Les comento hace varios días vengo trabajando y quiero lograr un control de temperatura osea cuando hace mucho calor que active automáticamente un rele que mueve un extrator de aire, cosa que lo logre hasta ahora y todo eso se ve en el diplay.. Pero se me complico al momento de poder setear a través de un pulsador para manejar la temperatura umbral de activación osea que suba y baje y los reles se activen con otra temperatura, no da error de compilacion pero no funciona, que podra ser???
Cabe mensionar que todo funciona menos el la subida y bajada del umbral...

Dejo el codigo...

//////////////////////////////////////////////////Codigo Viejo
int sensor = 9; // PIN donde va conectado el sensor de temperatura y humedad DHT11
int rele = 2; // PIN donde va conectado el rele
int ON = LOW; // Variable para activar el rele (HIGH = apagado / LOW = encendido) ?Hago algo mal?
int OFF = HIGH; // Variable para desactivar el rele
//int LEDOK = 6; // LED verde - todo OK // Eliminado para poder conectar el display
//int LEDERR = 7; // LED rojo - ERROR // Eliminado para poder conectar el display
int hmax = 26; // Temperatura maxima a la que se activa el extractor
int tol = 1 ; // Rango de seguridad para evitar que se encienda de manera intermitente el ventilador
int dh = 10 ;
int h1 = 0; //
int h2; //
int estado = OFF;
///////////////////////////////////////////////////Control 2
float tempC=0;
int tempPin=0;//el pin de arduino que obtiene voltajes
const int  SetTempUp = 6;    // pin 6 de Arduino con boton de incremento de temperatura
const int  SetTempDown = 7;  // pin 7 de Arduino con boton de decremento de temperatura
int TemButtonCounter = hmax;   // contador de veces que se incrementa
                             // o decrementa el ajuste de temperatura
                             // valor inicial es de 32 grados
int TempButtonUpState = 0;   // estado actual del boton de incremento de temperatura
int TempButtonDownState = 0; // estado actual del boton de decremento de temperatura
int lastTempButtonState = 0; // ultimo estado (si se incremento o decremento la temperatura)
////////////////////////////////////////////////////Control 2
////////////////////////////////////////////////////CODIGO ORIGINAL
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);//Direccion de LCD
#include "DHT.h"
#define DHTPIN 9 //Conectamos el Sensor al pin digital 9
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);
void setup() {
  lcd.begin(16, 2); // Indicamos medidas de LCD
  dht.begin();
  ///////////////////////////////CODIGO
  pinMode(rele, OUTPUT); // Activamos el PIN rele como salida para el rele
  pinMode(sensor, OUTPUT); // Activamos el PIN sensor como salida para el sensor
  ///////////////////////////////////////////////CODIGO
  //////////////////////////////////////////////Codigo 2
  Serial.begin(9600);
  pinMode(13,OUTPUT);
  pinMode(SetTempUp, INPUT);
  pinMode(SetTempDown, INPUT);
  //////////////////////////////////////////////////Codigo2
}
void loop() {
  int h = dht.readHumidity();    // Lee la humedad
  int t = dht.readTemperature();  //lee la Temperatura
  ///////////////////////////////////////////////////
  lcd.clear();//Elimina todos los simbolos del LCD
  lcd.setCursor(0, 0); //Posiciona la primera letra despues del segmento 5 en linea 1
  lcd.print("Humedad Relativa ");
  lcd.setCursor(6, 1);
  lcd.print(h);//Escribe la humedad
  lcd.print(" %");
  delay (1500);
  ///////////////////////////////////////////////////
  lcd.clear();
  lcd.setCursor(3, 0);
  lcd.print("Temperatura ");
  lcd.setCursor(6, 1);
  lcd.print(t);//Escribe la temperatura
  lcd.print(" C'");
  delay (1500);
  ///////////////////////////////////////////////////
  lcd.clear();
  lcd.setCursor(3, 0);
  lcd.print("Temp Umbral");
  lcd.setCursor(6, 1);
  lcd.print( hmax );//Escribe la temperatura
  lcd.print(" C'");
  delay (1500);
  ////////////////////////////////////////////Codigo
  lcd.clear();
  lcd.setCursor(4, 0);
  lcd.print("BY");
  lcd.setCursor(1, 1);
  lcd.print("Pedro Audisio");
  delay (1500);
  /////////////////////////////////////////////Codigo
  // check if returns are valid, if they are NaN (not a number) then something went wrong!
  if (isnan(t) || isnan(h) || h == 0 && t == 0) {
    Serial.println("Failed to read from DHT");
    //    digitalWrite(LEDERR, HIGH); // Eliminado para poder conectar el display
  } else {
    //    digitalWrite(LEDOK, HIGH); // Eliminado para poder conectar el display
    Serial.print("Humidity: ");
    Serial.print(h);
    Serial.print(" %\t");
    Serial.print("Temperature: ");
    Serial.print(t);
    Serial.println(" *C");
    Serial.print("Estado: ");
    Serial.print(estado);
    Serial.println(" // ");
    delay(2000);
    ///////////////////////////////////////////////////CODIGO
    if (h > hmax) {
      estado = ON;
      digitalWrite(rele, estado);
    }

    if (h < hmax - tol) {
      estado = OFF;
      digitalWrite(rele, estado);
    }
    //////////////////////////////////////////////CODIGO
//delay (500);
  }
///////////////////////////////////////////////////Codigo2
   // lectura del boton de incremento de temperatura
   
   TempButtonUpState = digitalRead(SetTempUp);
  
   // comparar TempButtonState con su estado previo

   if (TempButtonUpState != lastTempButtonState) {
     
     // si el ultimo estado cambio, incrementar el contador
     
     if (TempButtonUpState == HIGH)
     {
      TemButtonCounter++;
     }
  }
   // guardar el estado actual como ultimo estado,
   // para la proxima vez que se ejecute el lazo 
   lastTempButtonState = TempButtonUpState;
   
      // lectura del boton de decremento de temperatura
   
   TempButtonDownState = digitalRead(SetTempDown);

  // compara el estado del boton (incremento o decremento) con el ultimo estado

   if (SetTempDown != lastTempButtonState) {
     
     // si el ultimo estado cambio, decrementar el contador
     
     if (SetTempDown == HIGH)
     {
      TemButtonCounter--;
     }
   }
   // guardar el estado actual como ultimo estado,
   // para la proxima vez que se ejecute el lazo
   lastTempButtonState = SetTempDown; 
  
  Serial.println(TemButtonCounter);
  
  tempC=(5*analogRead(tempPin)*100.0)/1024.0;
 // lcd.setCursor(5,1);
 // lcd.print(tempC);
 // delay(1000);
  if(tempC < TemButtonCounter)
  {
   digitalWrite(13, HIGH);
   }
  else
  {
  digitalWrite(13, LOW);
   }

}
//////////////////////////////////////////////////////CODIGO2

Muchas GRACIAS