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.
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) ...
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