Tengo un proyecto que consiste en contar el # de clicks que se pueden hacer en 10seg.
Ya tengo la mayor parte del código pero no sé como hacer que el botón pare de recibir los clicks al haber transcurrido los 10seg.
No entiendo muy bien que es lo que quisiste poner aquí
delayMicroseconds(0.000000001);
¿Un delay de 1 femtosegundo?
delayMicroseconds() solo acepta un parámetro entero que indica la cantidad de microsegundos que dura el delay (revisa la Referencia de Arduino), por lo tanto lo que has escrito es lo mismo que
delayMicroseconds(0);
lo cual no tiene sentido.
Por otro lado, si usas millis() para controlar el tiempo, tranquilamente puedes detener el conteo a los 10 segundos (y si lo deseas podrías reiniciarlo con una nueva pulsación).
Si necesitas más precisión podrías usar la interrupción de un timer e incluso contar las pulsaciones por medio de una interrupción hardware.
Por lo pronto, corrige el error que te indiqué y te sugiero leas el tutorial sobre el uso de millis que encuentras en la sección Documentación.
También se puede generando un salto a la dirección del vector de reset del micro, hace ya un tiempo fue tratado ese tema y en lo personal no lo aconsejo, un programa bien ideado y desarrollado no debería jamás necesitar ser "reseteado" y menos como parte de un funcionamiento "normal".
Supongamos que no fuese posible hacer un reset por soft, no me imagino diciéndole a un usuario "El código funciona perfecto pero acuérdate de resetearlo cada X segundos para que haga su trabajo".