Control de temperatura con sistema on-off e histeresis.

Buenas tardes tengo un control de temperatura que sirve muy bien sube la temperatura hasta la cual el usuario quiere llegar, el problema es cuando esta llega, el actuador (resistencia) se apaga pero al descender 1° este se vuelve a activar por lo cual puede dañar el actuador, he leido acerca de la histeresis o doble umbral, pero los intentos que he hecho no han quedado bien por lo que no me queda otra mas que acudir con los expertos de este foro claro con permiso del administrador.
la funcion queda asi:
temp=temperatura obtenida del sensor
number=temperatura a la cual se quiere llegar
dft= numero de grados de histeresis.
por ejemplo al solicitar 20°C en vez de que el sistema se active a los 19°c, se active en 15(que es la funcion de temp-dft) y llegue hasta 20 de nuevo y se apague, asi sucesivamente, agradezco su ayuda muchos saludos.

if (number-dft < temp){
  digitalWrite(r, LOW);
  }

else {
   digitalWrite(r, HIGH);
}

Y cuanto lo intentaste? Porque es un simple problema matemático.

Si llamo temp a temperatura
hist a histeresis
setpoint al valor al que quiero que cambie.

Si quieres doble umbral o sea tendras un valor pon encima y otro por debajo de tu setpoint

if (temp > setpoint + hist)
digitalWrite(r, LOW);
if (temp < setpoint - hist)
digitalWrite(r, HIGH);

supongamos sepoint = 20
hist = 1 y temp = 21

21 > 20 + 1 FALSO
22 > 20 + 1 TRUE recien cuando valga 22 se apaga

19 < 20 - 1 FALSO ya que 19 < 19
18 < 20 - 1 TRUE ya que con 18 < 19 se cumple

entonces con numeros enteros el ajuste es en torno a los 2 hacia arriba y abajo
Si pones <= o >= cambia a 1

Si usas float, puedes jugar con decimales.