Alors tu ajoutes
compteur = 0;dans le bloc du else.
Je ne comprends pas ce que tu fais avec la LED : elle s'allume au bout de 3 passages. Si tu ajoutes cette ligne, elle va s'allumer très furtivement, et on risque même de ne pas la voir. Si tu veux la voir s'allumer, il faut ajouter un delay après digitalWrite(ledPin,HIGH);