boton en x segundos

Disculpen soy nuevo en arduinio, me gustaria hacer que si se presiona el botón, en un periodo de 2 segundos deberá realizar un ciclo de 4 estados:
Estado 1: Medio Segundo Prendido.
Estado 2: Medio Segundo Apagado.
Estado 3: Medio Segundo Prendido.
Estado 4: Medio Segundo Apagado.
Si el boton no esta presionado no debera suceder nada.
Si despues de 2 segundo el botón sigue presionado se repite el cambio de estados.

alguien me puede ayudar?

la filosofia del foro es ayudar en dudas concretas,lo que sugiere tu post es que te hagan el programa y por ahi vas a conseguir poco.si no sabes como empezar ve al apartado de documentacion ,hay bastante material didactico para empezar.

Mira el ejemplo blinkWithoutDelay.ino del IDE y luego como te dijo @jose ve a Documentación y estudia el uso de millis().

Con esta guia resuelves tu problema y claro estudiando como funciona todo.

Gracias, creo que si se mal entiende el mensaje, lo que no sé si haya una función para contar el tiempo que un botón esta pulsado, me he pasado por muchas paginas de información y lo máximo que encoré es la función pulsein() pero eso no sirve para lo que necesito, no quiero que hagan el código por mi. Aun así gracias.

Si la hay.
La función con la que cuentas tiempos es millis() la que te he respondido.

A ver si te doy una respuesta de un código que te puede servir, mas una indicación de que leer para resolver tu problema y apenas minutos despuest repreguntas? Quiere decir que no has hecho caso a mi consejo.

perdón, pero no vi tu respuesta y ya no te pude responder después porque tenia que esperar 5 minutos