Problemas com relé

bubulindo vlw a dica ja modifiquei...
resolvi o problema de imprimir temperaturas loucas assim:
if ((float)raw / 16.0 <= 100) {
if (celsius2/celsius >=0.9 && celsius2/celsius <=1.1)
{
celsius = (float)raw / 16.0;
delay (1000);
}}
celsius2 = (float)raw / 16.0;
desta forma ele só atualiza o celsius se a temperatura for menor que 100 e tambem faz uma leitura e depois de um segundo faz outra, se a diferença for entre 0.9 e 1.1(isso da uma margem de quase 2 graus) ele grava o novo valor de temperatura..
agora acho que arrumei a parte de checar o sensor e se não achar travar tudo colocando um delay de dois segundos e repetindo a parte de checar, ou seja, ele checa espera dois segundo e checa denovo:

if ( !ds.search(addr)) {
delay (2000);
if ( !ds.search(addr)) {
while (!ds.search(addr)) { //enquanto não encontrar o sensor.
ds.reset_search();
delay(250);
digitalWrite(aquecedor, HIGH);
digitalWrite(resfriador, HIGH);
lcd.clear();
lcd.setCursor(1,0);
lcd.print("ERRO NO SENSOR");
}}}

agora preciso arrumar o relógio, e alguem tem alguma dica do que fiz ou esta bom?