Timer en Arduino

buenas a todos soy nuevo en este mundo mas me gusta y estoy apreniendo a cada paso me gustaria comentar mi situación esperando que alguien puede ayudarme poseo un arduino pro mini y debo:
Hacer un programa que encienda y apague un LED con una frecuencia de 1ms, 10ms, 100ms y 1seg. Esta frecuencia cambia al pulsar un botón en el orden antes mencionado. Usando el Timer , de ante mano gracias… ??? ???

Hola

Bien venido

He visto muchos temas sobre timers en el foro, pero por ahora no he visto uno que directamente modifique la frecuencia del timer.

Bueno primero debemos tener en cuenta que frecuencia de reloj tiene tu arduino, el pro mini viene en dos sabores de 8Mhz(3.3v) y 16Mhz(5v), cual es el tuyo?

Si tiene que ser con timer luce a tarea de intituto o colegio. Si es asi, debes intentar hacer algo primero tu y nosotros ayudarte. Sino, puedes usar millis() precisión 1mseg y si no alcanza usa micros(). Si no sabes de que hablo, busca BlinkWithoutDelay en el IDE y ahi esta como usar millis()

Existen Librerias como la "Timer" que te permite usar los timer internos de arduino.

http://playground.arduino.cc/code/timer