Paso nivel con barrera y leds (SOLUCIONADO)

Hola, ya he echo lo que me dices @gonpezzi pero no funciona, aquí pongo el código
y @Surbyte el servo es pequeño un sg90 , en las pruebas los 5v lo saco del Arduino nano,
pero luego cuando funcione será con 5v exterior para no cargar el Arduino .

P.D. he quitado los comentarios originales y dejado solo los nuevo para mayor claridad en el código

Gracias a los dos

// barrera de tren con 2 led rojos intermitentes y 1 led verde fijo.
// cuando la "barrera" esta subida el led verde se enciende y se apagan los leds rojos
// cuando la "barrera" esta abajo el led verde se apaga y enciende los leds rojos
// la "barrera" esta por poner sera activada con 1 servo

#include <Servo.h>                      //incluido nuevo

int sensePin1=A0; 
int sensePin2=A1; 
int Red1=6; 
int Red2=5;  
int Verde=7;

Servo barrera;                               //Servo myServo;

void setup() {
  Serial.begin(9600); 
  pinMode(Red1,OUTPUT); 
  pinMode(Red2,OUTPUT);  
  pinMode(Verde,OUTPUT);
  barrera.attach(9);                         //myServo.attach(Pin PWM);
  
}

enum CROSSINGSTATES
{
  ST_OFF,
  ST_FLASHING1,
  ST_FLASHING2,
  ST_FLASHING3,
}; 

CROSSINGSTATES crossingState=ST_OFF; 

void loop() {
  int valA1=analogRead(sensePin1); 
  int valA2=analogRead(sensePin2);
  
  switch(crossingState) 
  {
    case ST_OFF:
    crossingoff(valA1, valA2);
    break;
    case ST_FLASHING1:
    crossingflashing1(valA1, valA2);
    break;
    case ST_FLASHING2:
    crossingflashing2(valA1, valA2);
    break;
    case ST_FLASHING3:
    crossingflashing3(valA1, valA2);
    break;
  }
}

void crossingoff(int valA1, int valA2){
  digitalWrite(Red1,LOW);
  digitalWrite(Red2,LOW);
  digitalWrite(Verde,HIGH);
  barrera.write (0);                         //myServo.write(Angulo);
 
  if(valA1<500 && valA2>500){
    crossingState=ST_FLASHING1;
  }
  else if (valA1>500 && valA2<500){
    crossingState=ST_FLASHING2; 
  }
}

void crossingflashing1(int valA1, int valA2){
  digitalWrite(Red1,HIGH);
  digitalWrite(Red2,LOW);
  digitalWrite(Verde,LOW); 
  barrera.write (90);                      //myServo.write(Angulo);
  delay(500);  
  digitalWrite(Red1,LOW);
  digitalWrite(Red2,HIGH);
  digitalWrite(Verde,LOW); 
  barrera.write (90);                       // myServo.write(Angulo);
  delay(500); 

  if (valA1>500 && valA2<500){
    crossingState=ST_FLASHING3;   
  }
}

void crossingflashing2(int valA1, int valA2){
  digitalWrite(Red1,HIGH);
  digitalWrite(Red2,LOW); 
  digitalWrite(Verde,LOW);
  barrera.write (90);                        // myServo.write(Angulo); 
  delay(500);  
  digitalWrite(Red1,LOW);
  digitalWrite(Red2,HIGH);
  digitalWrite(Verde,LOW); 
  barrera.write (90);                       // myServo.write(Angulo); 
  delay(500); 

  if (valA1<500 && valA2>500){
    crossingState=ST_FLASHING3;
  }
  }

 void crossingflashing3(int valA1, int valA2){
  digitalWrite(Red1,HIGH);
  digitalWrite(Red2,LOW);
  digitalWrite(Verde,LOW);
  barrera.write (0);                          // myServo.write(Angulo);
  delay(500);  
  digitalWrite(Red1,LOW);
  digitalWrite(Red2,HIGH);
  digitalWrite(Verde,LOW);
  barrera.write (0);                          // myServo.write(Angulo); 
  delay(500); 

  if (valA1>500 && valA2>500){
    crossingState=ST_OFF;
  }
  }