Problema Seriale Arduino

Eh? Qualcosa non mi torna in quest'altra for():

byte varSample;
for (varSample <= (Sample - 1); varSample++;){

Il primo parametro è l'inizializzazione ("varSample <= (Sample - 1)" ?), il secondo la condizione per il ciclo ("varSample++" ??), il terzo la reinizializzazione (vuoto!).

Questa quindi equivale di fatto a:

varSample <= (Sample - 1); 
while (varSample++) {
 ...
}

Mi sa che hai messo un punto e virgola sbagliato, e poi non inizializzi il valore iniziale di varSample.
Forse se "Sample" è il numero di campionamenti, volevi forse fare:

for (byte varSample=0;varSample < Sample; varSample++) {

che equivale a:

byte varSample = 0;
while (varSample < Sample) ) {
 ...
 varSample++
}

Era questo che volevi fare?

Insomma di fatto leggi "Sample" campioni dalla porta anlogica passata a parametro e questo è ok, ma leggerli così tutti di seguito a che serve? Devi metterci un minimo di delay tra una e l'altra. Inoltre azzerare le variabili Somma e varSample non serve a nulla, sono locali alla funzione e si distruggono all'uscita dalla stessa.
Io farei così:

void readCH(byte n){
  unsigned int Somma;
  for (byte i=0; i < Sample; i++;){
    Somma += analogRead(CH[n]);
    delay(5);
  }
  Vdigital[n] = Somma / Sample;
}