Termostato!

#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