Using millis() to get elapsed time

int photodiodePin = 2;              // Photodiode connected to digital pin 2
...
  if(photodiodePin == LOW && lastState == HIGH){

LOW is defined to be zero, so photodiodePin will never be LOW.