Ayuda con contadores sin delay

Buenas chicos, este es mi primer post, llevo poco en esto de arduino y tengo problemas para realizar una secuencia, no se si puedo hacerla con la función millis o necesito usar los temporizadores. Tengo un arduino Mega, os explico y agradecería mucho si me podeis ayudar :)

El caso es que tengo que realizar un ciclo de purga cada x tiempo, y cada purga durará 200 ms. El tiempo entre purga y purga viene determinado por la operación 2300/intensidad=seg. Siendo la Intensidad la que voy a leer del sensor de intensidad. Es decir, si estando en varios estado de funcionamiento del sistema, ejecuto la operación (2300/i) y ese valor que me da, es el tiempo que tengo que esperar para purgar, en el momento que pase, pongo en alto la válvula de purga y purgo durante 200 ms ( los 200 ms siempre es igual) cuando termino de purgar (200ms) vuelvo a realizar la operación y vuelvo a esperar el tiempo que salga del resultado de la operación y así sucesivamente. También tengo que tener en cuenta que la operación se realice una sola vez tras realizar la purga para evitar perdidas de datos, o que se pase todo el tiempo realizando operaciones y finalmente no purgue. El caso es que he intentado varias cosas pero no se como realizarlo, me gustaría si alguien puede ayudarme estaría muy agradecido. Muchas gracias de antemano :)

Blinkwithoutdelay

Esta en el ide, ves viendo los ejemplos que trae y aconsejo ponte en favoritos www.google.es te ayudara bastante.