Uso di OneWire

Sto facendo così...ma secondo me c'è un modo per ottimizzare il tutto. Ecco il codice completo di questa funzione:

{
  // letto l'input sul pin analogico 2:
  int sensorValue = analogRead(A2);
  // Converto la lettura analogica (compresa fra 0 - 1023)in un voltaggio tra (0 - 5V):
  float voltage = sensorValue * (5.0 / 1023.0);
  double tempdesiderata = (sensorValue / 30);
    // Stampo sulla porta seriale il valore corrispondente.
  Serial.print("Ecco la temperatura corrispondente: ");
  Serial.println(tempdesiderata);

 if (tempdesiderata == 0){
   caldaia = 30;
  Serial.print ("La temperatura è 30 °C");
  }else if (tempdesiderata == 1){
   caldaia = 31;
  Serial.print ("La temperatura è 31 °C");
  }else{
    Serial.print ("La temperatura è 00 °C");
  }
   }

Ho fatto giusto due valori e nel serial monitor ho le uscite corrette. Stavo cercando funzioni tipo array o case. Pensi che possa usarle?grazie

Giuseppe