#define HISTERESE 1.0 // 1 grau de histerese.
#define SETPOINT 30.0 //setpoint de 30 graus.if (temperatura <= SETPOINT) digitalWrite(led, HIGH);
if (temperatura < (SETPOINT + HISTERESE)) digitalWrite(led, LOW);
Penso que como está ira ligar e desligar de imediato.
Que tal assim:
if (temperatura >= SETPOINT) digitalWrite(led, HIGH);
if (temperatura <= (SETPOINT - HISTERESE ) digitalWrite(led, LOW);
Desta forma a zona entre os 29e os 30 fica com uma histerese de um grau