temperatura y rele

Buenas noches, estoy tratando de hacer encender unas calderas con un rele cuando la temperatura sea menor que 24 y apaque cuando sea mayor a 34, pero el rele no prende. les dejo datos y codigo usado. placa arduino leonardo, sensor DS18B20.
#include <Wire.h>

#include <OneWire.h>

#include <DallasTemperature.h>

#include <LiquidCrystal.h>

/*
Programa: LCD Tutorial
Autor: Humberto Higinio
Web: www.humbertohiginio.com
Canal de Youtube: Humberto Higinio - YouTube
Video Exclusivo para mi canal de Youtube
Todos los Derechos Reservados - 2015
Código de Dominio Público
*/
#define ONE_WIRE_BUS 1

// Setup a oneWire instance to communicate with any OneWire devices (not just Maxim/Dallas temperature ICs)
OneWire oneWire(ONE_WIRE_BUS);

// Pass our oneWire reference to Dallas Temperature.
DallasTemperature sensors(&oneWire);
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
int relee = 8;

void setup() {
lcd.begin(16,2);
sensors.begin();
pinMode (relee, OUTPUT);
float Temperatura = sensors.getTempCByIndex(0);
}
void loop() {
float Temperature = sensors.getTempCByIndex(0);
lcd.print(sensors.getTempCByIndex(0));
sensors.requestTemperatures();
// Serial.print("Temperature");
sensors.getTempCByIndex(0);
// Serial.println(x);
lcd.setCursor(0,0);
lcd.print("Temperature: ");
lcd.setCursor(0,1);
lcd.print(" ");
lcd.setCursor(0,1);
if (Temperature <29)
{
digitalWrite(relee,HIGH);
}else
{
digitalWrite(relee,LOW);
}
Desde ya muchas gracias amigos.

Edita tu código usando la guía que te envié por privado.

Tu error es común. Los reles funcionan con lógica inversa. LOW lo activa y HIGH lo desactiva

aca el código corregido según tu explicación, no lo que presentaste.

void loop() { 
  float Temperature = sensors.getTempCByIndex(0);
  lcd.print(sensors.getTempCByIndex(0));
  sensors.requestTemperatures(); 
  // Serial.print("Temperature");
  sensors.getTempCByIndex(0);
  //  Serial.println(x);  
  lcd.setCursor(0,0);
  lcd.print("Temperature: "); 
  lcd.setCursor(0,1);
  lcd.print("          ");
  lcd.setCursor(0,1);
  
  if (Temperature < 24) 
      digitalWrite(relee, LOW);  // esto activa el rele. Logica inversa
  if (Temperature > 34)
      digitalWrite(relee, HIGH); // esto apaga el rele. Logica inversa
}

Y mira como se debe presentar un código. Esto esta con etiquetas.

Buenas, acabo de probarlo y no funciona.
gracias por la información para subir los codigos en los msj.

CREO NO ACTIVA EL PIN 8

Yo tengo esta parte de codigo para activar el compresor del aire acondicionado de un automovil cuando la temperatura del evaporador es superior a 15 °C y lo apaga cuando llega a una temperatura inferior a 3°C creo que es lo que quieres hacer lo explicare lo mejor posible lo que hace e intenta agregarlo a tu código modificando los nombres de acuerdo con lo que tengas y las salidas que tengas y la lógica que funcionen tus relés.

thresholdLowEvaporador = 3, // Umbral de temperatura Apagado (Embrague Magnetico)
thresholdHighEvaporador = 15; // Umbral de temperatura Encendido (Embrague Magnetico)
void controlAutomatico()
{
 if (estadoActivacionAc == 1)  // Variable que indica que se ha activado el aire acondicionado por el ususario 
 {
 if (!estadoAcTemperatura  && tempEvaporador > thresholdHighEvaporador) { // estadoACtemperatura significa que que si esta apagado y la temperatura es superior a la establecida cambie el estado de la variable a 1 para que no se vuelva a entrar en la condición y active el compresor, en tu caso el rele
 estadoAcTemperatura = 1;
 digitalWrite(cluchRelay, HIGH);
 }
 if (estadoAcTemperatura && tempEvaporador < thresholdLowEvaporador) { // estadoAcTemperatura en este caso como es 1 y la temperatura es inferior a la establecida en el umbral cambia de estado a 0 y desactiva el compresor, en tu caso el rele  
 estadoAcTemperatura = 0;
 digitalWrite(cluchRelay, LOW);
 }
 }
 else 
 {
 digitalWrite(cluchRelay, LOW);
 }
}

Espero que logres hacerlo funcionar por tu cuenta si no pregunta de nuevo por aquí, no dispongo de mucho tiempo por lo que no lo adapto a tu código.

Y que pasó con edita tu código usando etiqueta?

A lo sumo que el problema sea este

if (Temperature < 24.0) 
      digitalWrite(relee, LOW);  // esto activa el rele. Logica inversa
  if (Temperature > 34.0)
      digitalWrite(relee, HIGH); // esto apaga el rele. Logica inversa

Como nota antes de todo... si piensas usar el arduino en un ambiente industrial.
Te recomiendo desde ya que lo cambies por un relevador de estado solido.
Te aseguro que te vas a ahorrar muchisimos problemas.

-Alex.

@Potota, ponte en contacto por privado conmigo. Hilo cerrado temporalmente