Zwei Lichtschranken - Weiterschaltbedingung möglich?

Ich denke dass alle Informationen vorliegen - Du musst es nur noch zusammensetzen

uint32_t zeitL;
uint32_t zeitR;

if(photoWertR < 700)
  zeitR = millis();                      
if(photoWertL < 500)
  zeitL = millis();

if (zeitR < zeitL) {
  // Programm ausführen
}
else {
  // nix tun (oder was anderes - z.B. LED wieder ausschalten
} 

Natürlich das Ganze jetzt noch ordentlich verriegeln - beim nächsten Durchlauf von loop() willst Du ja nicht sofort wieder Zeiten nehmen... und damit wären wir dann bei der Zustandsmaschine: Schreib Dir in einfachen Worten auf, was nacheinander passieren muss, damit Deine Aktion "Alarm" ausgelöst werden soll. Vielleicht so:

  • Warten
  • links ausgelöst --> zurück auf Warten
  • rechts ausgelöst -> warten mit Timeout auf links ausgelöst
  • warten auf links
  • Timeout läuft und links ausgelöst --> Aktion
  • Timeout abgelaufen --> Warten
  • Aktion --> Warten

Wenn Du das vollständig und widerspruchsfrei aufgeschrieben hast, tippt sich der Code dazu fast von allein.