Contador que regrese a cero

Saludos compañeros, este es mi primer post, habitualmente vengo aquí a consultar dudas pero hasta hoy me topé con un problema que al parecer es super simple pero no logro resolver.

El código debe hacer lo siguiente, cuando se presione largo el botón, el numero de pulsaciones las paso a un contador, y cuando sea superior a 3, debe volver a 0, no logro hacer que vuelva a cero, pues si coloco un if(n>3){(n=0)} ya no cambia el valor de n y se queda en 0, ¿cómo puedo hacer que n vuelva al origen y se reinicie el contador?

Gracias por su ayuda.

const int boton = 2;
   int tiempo = 0;
int tiempo2 = 0;
int tiempo3 = 0;
int button3State = 0;   
int valor = 0;
int contar = 0;
int n = 0;

void setup()
{
  pinMode(boton, INPUT); 
Serial.begin(115200);
}
void loop() 
{
button3State = digitalRead(boton);  
if (button3State == HIGH){
  tiempo=millis();
  while(button3State == HIGH) {
    tiempo2=millis();
    button3State = digitalRead(boton);    
  }
  tiempo3=tiempo2-tiempo;
  Serial.print(tiempo3);
  if (tiempo3 <= 700)
  {
  Serial.println("pulsacion corta");
  }
  if (tiempo3 >= 701){
    contar++;
    n=contar;
    
  Serial.print("pulsación larga");
  Serial.print(n);
  }
  }
}

Lamento haber hecho un post para esto, ya encontré la solución, seguí mirando y me di cuenta que la variable que debía resetear era "contar" y no "n", dicho esto, quedó así:

  if (tiempo3 >= 701){
   contar++;
   n=contar;
   if(n>=3)(contar=0);
   
   
 Serial.print("pulsación larga");
 Serial.print(n);
 }

Si es necesario que elimine el post, avísenme :slight_smile: