// Define the pin numbers for each traffic light
const int redPin1 = 2;
const int yellowPin1 = 3;
const int greenPin1 = 4;
const int redPin2 = 5;
const int yellowPin2 = 6;
const int greenPin2 = 7;
const int redPin3 = 8;
const int yellowPin3 = 9;
const int greenPin3 = 10;
const int redPin4 = 11;
const int yellowPin4 = 12;
const int greenPin4 = 13;

void setup() {
  // Set the traffic light pins as OUTPUT
  pinMode(redPin1, OUTPUT);
  pinMode(yellowPin1, OUTPUT);
  pinMode(greenPin1, OUTPUT);
  pinMode(redPin2, OUTPUT);
  pinMode(yellowPin2, OUTPUT);
  pinMode(greenPin2, OUTPUT);
  pinMode(redPin3, OUTPUT);
  pinMode(yellowPin3, OUTPUT);
  pinMode(greenPin3, OUTPUT);
  pinMode(redPin4, OUTPUT);
  pinMode(yellowPin4, OUTPUT);
  pinMode(greenPin4, OUTPUT);
}

void loop() {
  //state1
  // Set traffic lights for side 1 (North)
  digitalWrite(redPin1, LOW);
  digitalWrite(yellowPin1, LOW);
  digitalWrite(greenPin1, HIGH);

  // Set traffic lights for side 2 (South)
  digitalWrite(redPin2, HIGH);
  digitalWrite(yellowPin2, LOW);
  digitalWrite(greenPin2, LOW);

  // Set traffic lights for side 3 (East)
  digitalWrite(redPin3, HIGH);
  digitalWrite(yellowPin3, LOW);
  digitalWrite(greenPin3, LOW);

  // Set traffic lights for side 4 (West)
  digitalWrite(redPin4, HIGH);
  digitalWrite(yellowPin4, LOW);
  digitalWrite(greenPin4, LOW);

  // Delay for a specific time (adjust as needed)
  delay(5000);
  //state2
  // Set traffic lights for side 1 (North)
  digitalWrite(redPin1, LOW);
  digitalWrite(yellowPin1, HIGH);
  digitalWrite(greenPin1, LOW);

  // Set traffic lights for side 2 (South)
  digitalWrite(redPin2, HIGH);
  digitalWrite(yellowPin2, LOW);
  digitalWrite(greenPin2, LOW);

  // Set traffic lights for side 3 (East)
  digitalWrite(redPin3, HIGH);
  digitalWrite(yellowPin3, LOW);
  digitalWrite(greenPin3, LOW);

  // Set traffic lights for side 4 (West)
  digitalWrite(redPin4, HIGH);
  digitalWrite(yellowPin4, LOW);
  digitalWrite(greenPin4, LOW);

  // Delay for a specific time (adjust as needed)
  delay(2000);
 //state3
  // Set traffic lights for side 1 (North)
  digitalWrite(redPin1, HIGH);
  digitalWrite(yellowPin1, LOW);
  digitalWrite(greenPin1, LOW);

  // Set traffic lights for side 2 (South)
  digitalWrite(redPin2, LOW);
  digitalWrite(yellowPin2, HIGH);
  digitalWrite(greenPin2, LOW);

  // Set traffic lights for side 3 (East)
  digitalWrite(redPin3, HIGH);
  digitalWrite(yellowPin3, LOW);
  digitalWrite(greenPin3, LOW);

  // Set traffic lights for side 4 (West)
  digitalWrite(redPin4, HIGH);
  digitalWrite(yellowPin4, LOW);
  digitalWrite(greenPin4, LOW);

  // Delay for a specific time (adjust as needed)
  delay(2000);
 //state4
  // Set traffic lights for side 1 (North)
  digitalWrite(redPin1, HIGH);
  digitalWrite(yellowPin1, LOW);
  digitalWrite(greenPin1, LOW);

  // Set traffic lights for side 2 (South)
  digitalWrite(redPin2, LOW);
  digitalWrite(yellowPin2, LOW);
  digitalWrite(greenPin2, HIGH);

  // Set traffic lights for side 3 (East)
  digitalWrite(redPin3, HIGH);
  digitalWrite(yellowPin3, LOW);
  digitalWrite(greenPin3, LOW);

  // Set traffic lights for side 4 (West)
  digitalWrite(redPin4, HIGH);
  digitalWrite(yellowPin4, LOW);
  digitalWrite(greenPin4, LOW);

  // Delay for a specific time (adjust as needed)
  delay(5000);
 //state5
  // Set traffic lights for side 1 (North)
  digitalWrite(redPin1, HIGH);
  digitalWrite(yellowPin1, LOW);
  digitalWrite(greenPin1, LOW);

  // Set traffic lights for side 2 (South)
  digitalWrite(redPin2, HIGH);
  digitalWrite(yellowPin2, LOW);
  digitalWrite(greenPin2, LOW);

  // Set traffic lights for side 3 (East)
  digitalWrite(redPin3, LOW);
  digitalWrite(yellowPin3, HIGH);
  digitalWrite(greenPin3, LOW);

  // Set traffic lights for side 4 (West)
  digitalWrite(redPin4, HIGH);
  digitalWrite(yellowPin4, LOW);
  digitalWrite(greenPin4, LOW);

  // Delay for a specific time (adjust as needed)
  delay(5000);
//state6
  // Set traffic lights for side 1 (North)
  digitalWrite(redPin1, HIGH);
  digitalWrite(yellowPin1, LOW);
  digitalWrite(greenPin1, LOW);

  // Set traffic lights for side 2 (South)
  digitalWrite(redPin2, HIGH);
  digitalWrite(yellowPin2, LOW);
  digitalWrite(greenPin2, LOW);

  // Set traffic lights for side 3 (East)
  digitalWrite(redPin3, LOW);
  digitalWrite(yellowPin3, LOW);
  digitalWrite(greenPin3, LOW);

  // Set traffic lights for side 4 (West)
  digitalWrite(redPin4, HIGH);
  digitalWrite(yellowPin4, LOW);
  digitalWrite(greenPin4, LOW);

  // Delay for a specific time (adjust as needed)
  delay(2000);
//state7
  // Set traffic lights for side 1 (North)
  digitalWrite(redPin1, HIGH);
  digitalWrite(yellowPin1, LOW);
  digitalWrite(greenPin1, LOW);

  // Set traffic lights for side 2 (South)
  digitalWrite(redPin2, HIGH);
  digitalWrite(yellowPin2, LOW);
  digitalWrite(greenPin2, LOW);

  // Set traffic lights for side 3 (East)
  digitalWrite(redPin3, LOW);
  digitalWrite(yellowPin3, LOW);
  digitalWrite(greenPin3, HIGH);

  // Set traffic lights for side 4 (West)
  digitalWrite(redPin4, HIGH);
  digitalWrite(yellowPin4, LOW);
  digitalWrite(greenPin4, LOW);

  // Delay for a specific time (adjust as needed)
  delay(5000);

//state8
  // Set traffic lights for side 1 (North)
  digitalWrite(redPin1, HIGH);
  digitalWrite(yellowPin1, LOW);
  digitalWrite(greenPin1, LOW);

  // Set traffic lights for side 2 (South)
  digitalWrite(redPin2, HIGH);
  digitalWrite(yellowPin2, LOW);
  digitalWrite(greenPin2, LOW);

  // Set traffic lights for side 3 (East)
  digitalWrite(redPin3, HIGH);
  digitalWrite(yellowPin3, LOW);
  digitalWrite(greenPin3, LOW);

  // Set traffic lights for side 4 (West)
  digitalWrite(redPin4, LOW);
  digitalWrite(yellowPin4, HIGH);
  digitalWrite(greenPin4, LOW);

  // Delay for a specific time (adjust as needed)
  delay(2000);
//state8
  // Set traffic lights for side 1 (North)
  digitalWrite(redPin1, HIGH);
  digitalWrite(yellowPin1, LOW);
  digitalWrite(greenPin1, LOW);

  // Set traffic lights for side 2 (South)
  digitalWrite(redPin2, HIGH);
  digitalWrite(yellowPin2, LOW);
  digitalWrite(greenPin2, LOW);

  // Set traffic lights for side 3 (East)
  digitalWrite(redPin3, HIGH);
  digitalWrite(yellowPin3, LOW);
  digitalWrite(greenPin3, LOW);

  // Set traffic lights for side 4 (West)
  digitalWrite(redPin4, LOW);
  digitalWrite(yellowPin4, LOW);
  digitalWrite(greenPin4, HIGH);

  // Delay for a specific time (adjust as needed)
  delay(5000);


}