Duda con función millis.

Hola comunidad! la verdad que estoy como loco tratando de descubrir como ponerle un limite a un código, les digo brevemente como va.
Este código recibe pulsos de un botón y los anota en el Monitor y al cabo de 5 segundos se tendría que reiniciar el contador para volver a 0 y empezar de nuevo y no lo logro, les dejo el código para ver si me pueden decir en donde esta el error.

int Contador = 0;
unsigned long Tiempo;
unsigned long Repeticiones;

void setup(){
pinMode(2,INPUT);

}
void loop(){
if (digitalRead(2) == HIGH){

if(digitalRead(2) == LOW){
Contador++;
Serial.println("Contando...");
Serial.println(Contador);
delay(100);
}
}
for(int i = 0; i < Repeticiones; i++){
Tiempo = millis();
break;
}
if (Tiempo == 5000){
Contador = (0);
Serial.println("Reiniciando");
}

}

Desde ya gracias!!

esto deberia ir en el apartado software ,no en proyectos...ademas hay unos tags especificos para adjuntar codigo.porfavor echale un ojo a las normas del foro.

if (digitalRead(2) == HIGH){
      
   if(digitalRead(2) == LOW){
      Contador++;
      Serial.println("Contando...");
      Serial.println(Contador);
      delay(100);
   }
  }

Esto no se cumple nunca!!!

Repeticiones que valor toma.
Esto no se si compila bien.

presionas el pulsador te da high y luego esperas un LOW? imposible

Parece tarea del Colegio/Instituto. Es asi?

surbyte:

if (digitalRead(2) == HIGH){

if(digitalRead(2) == LOW){
      Contador++;
      Serial.println("Contando...");
      Serial.println(Contador);
      delay(100);
  }
  }



Esto no se cumple nunca!!!

Repeticiones que valor toma.
Esto no se si compila bien.

presionas el pulsador te da high y luego esperas un LOW? imposible

Parece tarea del Colegio/Instituto. Es asi?

Si, compila y llega a 10 y reinicia, pero lo que quiero hacer es que con un límite de tiempo reinicié

Bueno ya te hice el 80% ahora trabaja tu y luego nos comentas los problemas que puedas o no tener y por cierto, lee las normas del foro y hasta no terminar un tema como este, no inicies otro como el que encontré recién en software.

A eso se lo llama DOBLE POST y no esta permitido.

AYUDA:
millis() se usa asi. Hay un HILO en documentación que explica como usarlo. Es de max_saeta y es muy bueno.

debes inicializar una variable como p.ej Tiempo
cuando presionas el boton y contador es = 0 cargas el valor de millis() en tiempo
ej.

 if (contador == 0) 
        Tiempo = millis();

y luego comparas

    if (millis()-Tiempo > 5000) {
       // ejectuas la acción que corresponda
    }

Perdón y gracias.