Media Valori TMP36

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
  }
}