Here is a very simple sketch that will monitor pulse transitions and calculate the time in milliseconds betwen the leading and trailing edge. You can define the edge transitions as appropriate for your blink detect logic.
#define DELAY_START HIGH // or low depending on your blink detection logic
#define DELAY_END !DELAY_START // this is the inverse of the above
int ledPin = 13; // choose the pin for the LED
int inputPin = 2; // choose the input pin (for blink detection circuit)
long start, duration;
void setup() {
pinMode(ledPin, OUTPUT); // declare LED as output
pinMode(inputPin, INPUT); // declare pushbutton as input
}
void loop(){
while( digitalRead(inputPin) != DELAY_START )
;
start = millis();
while( digitalRead(inputPin) != DELAY_END )
;
duration = start - millis();
// do stuff here to process the delay time calculated above
}
I hope this helps with some ideas about how to impliment your application