PROBLEME DE DÉBUTANT

Bonjour à tous et désolé si le post n'est pas à ça place

Je suis archi débutant et j'ai un problème très basic que je n'arrive pas a résoudre
J'essai de faire une fonction qui mesure des entrées analogiques et qui en ferai une moyenne toute les 20 mesures.

Etant évidant que la question a déja était traité, je n'arrive pas a trouvé d'explication.

Quelqu'un pourrait m'aider ?

int moyenneSonde(const int sonde){
int valSonde;
const byte totalTab = 20;
int tab[totalTab];
unsigned int somme;

for (int i = 0; i< totalTab ; i ++){
         valSonde = analogRead(sonde);
         
         tab[i] = valSonde;
          }
          
         for (int i = 0 ; i < totalTab ; i++){   
         somme += tab[i] ; //somme des valeurs du tableau
          }
    
  int moyenne = somme/totalTab;
  return(moyenne);
      
}

Je ne comprend pas où est le problème mais les valeurs renvoyé ne corresponde a rien.

Merci d'avance

Il faut initialiser la valeur de somme au debut de chaque boucle.

somme = 0 ;
for (int i = 0 ; i < totalTab ; i++){   
     somme += tab[i] ; //somme des valeurs du tableau
}

Merci beaucoup