Delays not working

So I'm trying to change delay times using if statements, but it isn't working.

This is for a traffic light project, with 6 LEDs and a potentiometer. I want the delay to increase as the value of the potentiometer increases, and the delay to decrease as the value of the potentiometer decreases.

Here's my code:

int red1 = 4; //LEDs
int yellow1 = 3;
int green1 = 9;
int red2 = 5;
int yellow2 = 6;
int green2 = 7;

volatile int g1r2delayTime = 5000; 
volatile int y1r2delayTime = 3000;
volatile int r1r2delayTime = 1000;
volatile int r1g2delayTime = 5000;
volatile int r1y2delayTime = 3000;

int pot = A0; //potentiometer
int potReading = 0; //potentiometer reading

void potCheck() {

  potReading = analogRead(pot);
  Serial.println(potReading);
  delay(1);

  if ((potReading <= 0 && potReading >= 200)) {
     g1r2delayTime = 3000;
     y1r2delayTime = 1000;
     r1r2delayTime = 1000;
     r1g2delayTime = 3000;
     r1y2delayTime = 1000;
  }

  else if ((potReading <= 201) && (potReading >= 400)) {
     g1r2delayTime = 4000;
     y1r2delayTime = 2000;
     r1r2delayTime = 1000;
     r1g2delayTime = 4000;
     r1y2delayTime = 2000;
  }

  else if ((potReading <= 401) && (potReading >= 600)) {
    g1r2delayTime = 5000;
    y1r2delayTime = 3000;
     r1r2delayTime = 1000;
   r1g2delayTime = 5000;
     r1y2delayTime = 3000;
  }

  else if ((potReading <= 601) && (potReading >= 800)) {
     g1r2delayTime = 8000;
     y1r2delayTime = 5000;
     r1r2delayTime = 2000;
     r1g2delayTime = 8000;
     r1y2delayTime = 5000;
  }

  else if ((potReading <= 801 && potReading >= 1023)) {
     g1r2delayTime = 10000;
     y1r2delayTime = 7000;
     r1r2delayTime = 1000;
     r1g2delayTime = 10000;
     r1y2delayTime = 7000;
  }
}

void setup() {

  Serial.begin(9600);

  pinMode(red1, OUTPUT);
  pinMode(yellow1, OUTPUT);
  pinMode(green1, OUTPUT);
  pinMode(red2, OUTPUT);
  pinMode(yellow2, OUTPUT);
  pinMode(green2, OUTPUT);

  pinMode(alarm, OUTPUT);

  //pinMode(pot, INPUT);
}

void loop() {

  potCheck();
  digitalWrite(red1, LOW); //green and red
  digitalWrite(yellow1, LOW);
  digitalWrite(green1, HIGH);
  digitalWrite(red2, HIGH);
  digitalWrite(yellow2, LOW);
  digitalWrite(green2, LOW);
  delay(g1r2delayTime);

  potCheck();
  digitalWrite(red1, LOW); //yellow and red
  digitalWrite(yellow1, HIGH);
  digitalWrite(green1, LOW);
  digitalWrite(red2, HIGH);
  digitalWrite(yellow2, LOW);
  digitalWrite(green2, LOW);
  delay(y1r2delayTime);

  potCheck();
  digitalWrite(red1, HIGH); //red and red
  digitalWrite(yellow1, LOW);
  digitalWrite(green1, LOW);
  digitalWrite(red2, HIGH);
  digitalWrite(yellow2, LOW);
  digitalWrite(green2, LOW);
  delay(r1r2delayTime);

  potCheck();
  digitalWrite(red1, HIGH); //red and green
  digitalWrite(yellow1, LOW);
  digitalWrite(green1, LOW);
  digitalWrite(red2, LOW);
  digitalWrite(yellow2, LOW);
  digitalWrite(green2, HIGH);
  delay(r1g2delayTime);

  potCheck();
  digitalWrite(red1, HIGH); //red and yellow
  digitalWrite(yellow1, LOW);
  digitalWrite(green1, LOW);
  digitalWrite(red2, LOW);
  digitalWrite(yellow2, HIGH);
  digitalWrite(green2, LOW);
  delay(r1y2delayTime);

  potCheck();
  digitalWrite(red1, HIGH); //red and red
  digitalWrite(yellow1, LOW);
  digitalWrite(green1, LOW);
  digitalWrite(red2, HIGH);
  digitalWrite(yellow2, LOW);
  digitalWrite(green2, LOW);
  delay(r1r2delayTime);
}

Any ideas? I'm also a newbie/beginner, so keep that in mind :wink:

Take this line:-

if ((potReading <= 201) && (potReading >= 400))

You have the comparisons back to front.
It says do the following if the pot reading is less than or equal to 201 and if the pot reading is greater than or equal to 400.

That can never possibly be true as something can not be less than AND greater than a specific number at the same time.

Grumpy_Mike:
Take this line:-

if ((potReading <= 201) && (potReading >= 400))

You have the comparisons back to front.
It says do the following if the pot reading is less than or equal to 201 and if the pot reading is greater than or equal to 400.

That can never possibly be true as something can not be less than AND greater than a specific number at the same time.

Oops, what a dumb mistake. I fixed the code and it works fine now. Thanks!