contatore

  1. sono i rimbalzi del pulsantino
  2. prova così:
if(digitalRead(pulsante)){
  delay(50);
  if(digitalRead(pulsante)){
    contatore +=1;
  }
}

Fermi 50 ms il codice, poi rifai una lettura. Se è sempre HIGH, vuol dire che il pulsantino è ancora premuto, altrimenti è stato un falso contatto.