Steuerung Bahnübergang mit LED

Setzte doch den blinkState mit beim Tasterdruck. Und führe dann in der blinken Funktion nur das Leuchten der LED aus, wenn blinkState wahr ist.

#include <Servo.h>

int taster1 = 8;
int taster2 = 9;
int LED = 10;
int tasterstatus1, tasterstatus2;
Servo Serv;

boolean blinkState;

void blinken() {
  if (blinkState && millis() % 1000 > 500)
  {
    digitalWrite(LED, HIGH);
  }
  else
  {
    digitalWrite(LED, LOW);
  }
}

void setup() {
  pinMode(taster1, INPUT_PULLUP);
  pinMode(taster2, INPUT_PULLUP);
  pinMode(LED, OUTPUT);
  Serv.attach(5);
}

void loop() {
  tasterstatus1 = digitalRead(taster1);
  tasterstatus2 = digitalRead(taster2);

  if (tasterstatus1 == 0) {
    Serv.write(97);
    blinkState=false;
  }
  if (tasterstatus2 == 0) {
    Serv.write(0);
    blinkState=true;
  }
  blinken();
}

Edit: pinMode wird eigentlich nur einmalig im Setup ausgeführt. Das wiederholte aufrufen im Loop bei dir ergibt kein Sinn.