Arduino uno+termocupla+lcd+ssrfotek

Buenos días compis, este es mi primer post, y llevo muchas semanas buscando información sobre mi problema. Es fácil, tal como lo dice el titulo del post, tengo un arduino uno conectada con un lcd 16x02, termocupla y max6675 y un rele fotek de 25 amperios. Lo que quiero es que cuando llegue la temperatura a un cierto valor que corte la corriente que pasa por el rele. El código que le metí, funciona en parte, mide perfectamente la temperatura, el display también funciona bien, pero al llegar a la temperatura limite , el rele funciona parcialmente, en el sentido que el led parpadea, y la corriente pasa por un segundo y se corta tmb por un segundito y vuelve a pasar, es como un loop hasta que la temperatura vuelve a caer por debajo del limite establecido. Aquí esta el código:

#include <Wire.h>
#include "max6675.h" 
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);

//Pins usados para Termocupla
int thermoDO = 10;
int thermoCS = 11;
int thermoCLK = 12;

//Crea el objeto del Termocupla y seta los Pines Digitales
MAX6675 thermocouple(thermoCLK, thermoCS, thermoDO);

//Setar 5 Voltios en los pins digitales
int vccPin = 3;
int gndPin = 2;
int rele=5;



void setup() {

 Serial.begin(9600);
  // usa los pines digitales como Power Pin 
  pinMode(vccPin, OUTPUT); digitalWrite(vccPin, HIGH);
  pinMode(gndPin, OUTPUT); digitalWrite(gndPin, LOW);
  pinMode(rele, OUTPUT); digitalWrite(rele,HIGH);
  lcd.begin(16,2); 
  lcd.backlight();
  delay(250);
  lcd.noBacklight();
  delay(250);
  lcd.backlight(); 
  Serial.println("MAX6675 HI!");
  delay(500);
  }
  void loop() {
    
 //Numero de muestras
int muestras = 10;
  
  digitalWrite(rele, HIGH);
   //Varible que recibira los datos de lectura
   float temperatura = 0;
   
   //Inicia la lectura de la muestra
   for(int index =0; index < muestras; index++){
     temperatura = thermocouple.readCelsius() + temperatura;
     delay(200);
   }
temperatura = temperatura / muestras;

 //Imprime al Serial
   Serial.print("C = "); 
   Serial.println(temperatura);
   
   //Serial.print("F = ");
   //Serial.println(thermocouple.readFahrenheit());
   
   //Imprime en LCD los datos
   lcd.setCursor(0,0); 
   // Limpia el Display
   lcd.clear();
   //Escribe
   lcd.print("Temp ARRIBA");
   lcd.setCursor(0,1);
   lcd.print(" ");
   lcd.print(temperatura);
   lcd.print(" Celsius");
   delay(10);
   
   if(thermocouple.readCelsius() > 35.00)
{
  digitalWrite(rele,LOW);
  lcd.clear();
  lcd.setCursor(0,0);
  lcd.print("ARRIBA OFF");
  lcd.setCursor(0,1);
  lcd.print(" ");
  lcd.print(temperatura);
  lcd.print(" Celsius");
  delay(500);
  }
  else
  {
    digitalWrite(rele,HIGH);
    }
   
}

burebista01:
void loop() {

//Numero de muestras
int muestras = 10;

digitalWrite(rele, HIGH);
//Varible que recibira los datos de lectura
float temperatura = 0;

Si no me equivoco te falla esto, borralo y te deberia funcionar. Un saludo.

Lagger18:
Si no me equivoco te falla esto, borralo y te deberia funcionar. Un saludo.

Cierto, gracias, este tema esta solucionado.