Como puedo leer el tiempo de un boton pulsado

Es un proyecto básico, pero me estoy recién iniciando en el arduino, puedo hacer lo mas sencillo pero me mandaron a hacer este mismo proyecto con un display de 7 segmentos.

El proyecto trata de simplemente hacer que el botón al estar pulsado se encienda un LED y que me empiece a contar los segundos que se mantiene pulsado el botón (o pulsador) y una vez suelto se pare, y que al pulsarlo nuevamente se reinicie todo nuevamente y este listo para hacerlo nuevamente.

Es algo que mandaron a hacer y estoy un poco urgido porque no tengo mucho tiempo. :confused:

A los que me ayuden de verdad muchas GRACIAS.

Puedes usar las interrupciones del sistema en modo change que ejecuta una función cada vez que el estado del pin cambia. Yo podría un lector de estado dentro de la función que lea el estado del pin para saber si toma un tiempo inicial o un tiempo final.

Finalmente en el loop solo imprime la diferencia de tiempos.

Si tienes dudas puedes preguntar.

RODRIGOCS:
contar los segundos que se mantiene pulsado el botón (o pulsador) y una vez suelto se pare,

Hola,

¿Necesariamente tienes que mantener pulsado el boton?

Digo porque si no mantienes bien ,etc, te puede dar una mala lectura de lo que haces.

Arduino te permite que una vez pulsado el led encienda y una vez vuelto a pulsar el led se apague.

Saludos, suerte!

Movido a Software
No es pregunta para sección Proyectos