problema con LM35

Salve a tutti, come si evince dal titolo ho problemi con LM35, non nella programmazione ( perché è abbastanza semplice il codice), ma mi da problemi nei valori che mi eroga, sul display Lcd 20x4 mi escono valori del tipo 45-50°, quando in casa stanno max 26°. Grazie qualcuno può aiutarmi: metterò il codice in seguito.

#define PIN_LM35 A0
LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); 

void setup() {
  Serial.begin(9600);
  lcd.begin(20, 4);
  lcd.clear();
delay(2000);

}

void loop() {
   int valore = analogRead(PIN_LM35);
   float temperatura = valore /2.046;
  lcd.setCursor(0, 0); 
  lcd.print("Temperatura:");
  lcd.print(temperatura); //Visualizzazione sul display LCD la temperatura
  lcd.print("C");
  delay(2000); //Ritardo di due secondi

}

hai usato dei cavi molto lunghi per collegare l'LM35 ad arduino? Se si devi aggiungere una resistenza e condensatore come riportato nel datasheet, se i cavi sono corti prova a vedere con un tester che valore ti da e se sono stabili.

Una resistenza e condensatore da quando?

guarda a pg16 for remote applications

Che riferimento per il ADC usi? i 5V di alimentazione Arduino?
Hai misurato se sono veramente 5,00V?

Usa il riferimento da 1,1V interno.

Ciao Uwe

si uso i 5V di arduino, non ho misurato però dopo provo, e vi aggiorno.

Non si dovrebbe mai usare l'alimentazione come riferimento, a causa delle possibili fluttuazioni ... o si usa il riferimento interno, o i 3.3V, o meglio ancora un riferimento esterno, come ad esempio LM431A, che fino ad una decina di mA di corrente e' piuttosto stabile (comunque, molto piu stabile di un comune alimentatore) ... :wink:

Comunque grazie per i consigli, ho caricato lo sketch sull'arduino e tutto mi è funzionato, probabilmente avevo sbagliato qualche collegamento ieri e non me ne ero reso conto. Grazie mille