Problema con sensore DHT11

Buongiorno a tutti,
Cercherò di essere il più chiaro possibile, mi scuso in anticipo se non sarò perfetto.
Sto realizzando un piccolo progetto, con un arduino uno, progetto che consiste nel:
All'rilevamento di una certa temperature (esempio all superamentodei 27 gradi), il led del relè dovrebbe accendersi, mentre se la temperatura va sotto i 27 gradi dovrebbe spegnersi.
Il sensore per la temperatura in questione è un DHT11, mentre il relè allego la foto in seguito al post.
Inoltro anche lo sketch che ho realizzato.
Grazie mille a chi mi darà una mano:

#include <dht11.h>

dht11 DHT11;

#define DHT11PIN 7


int relePin8= 8;

void setup()
{
 Serial.begin(9600);
 Serial.println("DHT11 TEST PROGRAM ");
 Serial.print("LIBRARY VERSION: ");
 Serial.println(DHT11LIB_VERSION);
 Serial.println();
 pinMode(relePin8, OUTPUT);
 
}

void loop()
{
 Serial.println("\n");

 int chk = DHT11.read(DHT11PIN);

 Serial.print("Read sensor: ");
 switch (chk)
 {
   case DHTLIB_OK: 
   Serial.println("OK"); 
   break;
   case DHTLIB_ERROR_CHECKSUM: 
   Serial.println("Checksum error"); 
   break;
   case DHTLIB_ERROR_TIMEOUT: 
   Serial.println("Time out error"); 
   break;
   default: 
   Serial.println("Unknown error"); 
   break;
 }

 
 Serial.print("Temperature (°C): ");
 Serial.println(DHT11.temperature);
 

 delay(20000);
 
 if (DHT11.temperature > 27.00)
{
       digitalWrite(8, HIGH);
}
if (DHT11.temperature = 20.00)  
{
       digitalWrite(8, LOW);
       
}


  
}

> Fabio1998: ti ricordo che in conformità al regolamento, punto 7, devi editare il tuo post (quindi NON scrivendo un nuovo post, ma utilizzando il bottone More -> Modify che si trova in basso a destra del tuo post) e racchiudere il codice all'interno dei tag CODE (... sono quelli che in edit inserisce il bottone con icona fatta così: </>, tutto a sinistra). Grazie,

Guglielmo

Ciao,
ho appena scritto un post piuttosto lungo che potrebbe aiutarti qui.
In particolare nel tuo caso farei una cosa del genere:

  if (DHT11.temperature > 27.50)
{
        digitalWrite(8, HIGH);
}
if (DHT11.temperature < 26.50) 
{
        digitalWrite(8, LOW);
       
}

Ho provato ad usare la tua soluzione, ma il led del modulo relay rimane sempre acceso, anche se la temperatura scende sotto la soglia da me impostata.
In poche parole quando dovrebbe scattare il "low" esso non scatta e il led del relay rimane sempre acceso.

#include <dht11.h>

dht11 DHT11;

#define DHT11PIN 7

int relePin1= 8;


void setup()
{
  Serial.begin(9600);
  Serial.println("DHT11 TEST PROGRAM ");
  Serial.print("LIBRARY VERSION: ");
  Serial.println(DHT11LIB_VERSION);
  Serial.println();
  pinMode(relePin1, OUTPUT);
  
}

void loop()
{
  Serial.println("\n");

  int chk = DHT11.read(DHT11PIN);

  Serial.print("Read sensor: ");
  switch (chk)
  {
    case DHTLIB_OK: 
    Serial.println("OK"); 
    break;
    case DHTLIB_ERROR_CHECKSUM: 
    Serial.println("Checksum error"); 
    break;
    case DHTLIB_ERROR_TIMEOUT: 
    Serial.println("Time out error"); 
    break;
    default: 
    Serial.println("Unknown error"); 
    break;
  }

 

  Serial.print("Temperature (°C): ");
  Serial.println((float)DHT11.temperature, 2);

  
  

  delay(2000);
  
  
 if (DHT11.temperature > 27.50)
{
        digitalWrite(8, HIGH);
}
if (DHT11.temperature < 24.50) 
{
        digitalWrite(8, LOW);
       
}

   
}

>Fabio1998: Hai letto bene il mio post #1 ? ? ? ... cortesemente fai quanto richiesto !

Guglielmo