Length of time between pulses ?

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