Mi sono messo a giocare col tuo codice
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
void setup(){
pinMode(A0, INPUT);
analogReference(INTERNAL);
Serial.begin(9600);
lcd.begin(16,2);
lcd.print("Inizio...");
delay(500);
}
void loop(){
lcd.clear();
float temperature = LM35temp(A0, 1.1, 10);
lcd.setCursor(0,0);
lcd.print("Temp : ");
lcd.print(temperature);
lcd.print("^C");
delay(1000);
}
float LM35temp(byte p, byte ref, byte cycle)
{
float readed = 0;
//leggo valore pin A0
for(int i=0; i<cycle; i++){
readed += analogRead(p);
}
readed /= cycle;
Serial.print("analogRead(");
Serial.print(p);
Serial.print("): ");
Serial.println(readed); //stampo la media della lettura
return (ref * readed * 100.0) / 1024.0;
}
Ho messo una funzione dove gli passi il pin, il riferimento e il numero di letture e restituisce un float con la temperatura.