Uso di OneWire

nid69ita:
Beh, prima di tutto quella funzione deve ora "ritornare" il valore e non tenerlo per se.

float LcdTemperature(DeviceAddress deviceAddress)  

{ float tempC = sensors.getTempC(deviceAddress);
 if (tempC == -127.00) {
      lcd.print("Errore falsa tempC");
 } else {
   lcd.print(tempC);
 }
 return(tempC);
}




Ora nel programma potrai memoriazzare i valori temperatura e poi confrontarli: 

lcd.setCursor(0, 0);  //Stampo la temperatura su LCD la temp del Bollitore Alto
 lcd.print("BA:");
 TempBoll=LcdTemperature(BollitoreAlto);
 lcd.setCursor(8, 0);   //Stampo la temperatura su LCD la temp del Bollitore Basso
 lcd.print("/B:");
 TempColl=LcdTemperature(CollettoreSolare);

Mi da questo errore:
Funzione_Sensori.ino: In function 'void LcdTemperature(uint8_t*)':
Funzione_Sensori:63: error: return-statement with a value, in function returning 'void'

Se poi scrivo solo return; mi da quest'altro errore:

Funzione_Sensori.ino: In function 'void loop()':
Funzione_Sensori:76: error: void value not ignored as it ought to be
Funzione_Sensori:80: error: void value not ignored as it ought to be

selezionandomi questa parte di codice:

lcd.setCursor(0, 0);  //Stampo la temperatura su LCD
  lcd.print("BA:");
  TempBollAlto=LcdTemperature(BollitoreAlto);
  
  lcd.setCursor(8, 0);   //Stampo la temperatura su LCD
  lcd.print("/B:");
  TempCollSolare=LcdTemperature(CollettoreSolare);