Ci sono vari modi per fare la stessa cosa.
Questo è uno dei tanti. Vedi se funziona (non l'ho provato) e se capisci come funziona.
#define PINTEMP A0 // definisco il pin del sensore
//variabili globali
int val_Adc = 0; //valore letto
float temp = 0; // temperatura
float media = 0; // media
byte conta = 0; // contatore letture
const float massimo = 8.0; // numero di valori su cui fare la media
void setup()
{
Serial.begin(9600); //init seriale
}
void loop()
{
val_Adc = analogRead(PINTEMP); //leggo dalla porta A0
delay(10); //ritardo tra una lettura e la successiva
temp = ((val_Adc * 0.00488) - 0.5) / 0.01;//converto il segnale acquisito
//in un valore espresso in gradi
//centigradi
media += temp; // aggiungo la temperatura appena letta alla media
conta++; // aumento il contatore
// controllo se sono arrivato al numero che mi serve
if (conta >= massimo) {
media /= massimo; // calcolo la media
Serial.println(media); // stampo la media
conta = 0; // azzero il contatore
media = 0; // azzero la media
delay(500); //ritardo di mezzo secondo
}
}