// Define the pins (MATCHING YOUR MEGA WIRING)
const int redLight1 = 2;
const int yellowLight1 = 3;
const int greenLight1 = 4;
const int redLight2 = 5;
const int yellowLight2 = 6;
const int greenLight2 = 7;
const int redLight3 = 8;
const int yellowLight3 = 9;
const int greenLight3 = 10;
const int redLight4 = 11;
const int yellowLight4 = 12;
const int greenLight4 = 13;
void setup() {
// Tell the Arduino these pins are outputs
pinMode(redLight1, OUTPUT);
pinMode(yellowLight1, OUTPUT);
pinMode(greenLight1, OUTPUT);
pinMode(redLight2, OUTPUT);
pinMode(yellowLight2, OUTPUT);
pinMode(greenLight2, OUTPUT);
pinMode(redLight3, OUTPUT);
pinMode(yellowLight3, OUTPUT);
pinMode(greenLight3, OUTPUT);
pinMode(redLight4, OUTPUT);
pinMode(yellowLight4, OUTPUT);
pinMode(greenLight4, OUTPUT);
}
void loop() {
// --- PHASE 1: Set 1 & 3 GREEN, Set 2 & 4 RED ---
// 1. SET 1 & 3 GREEN (Set 2 & 4 RED)
digitalWrite(redLight1, LOW);
digitalWrite(yellowLight1, LOW);
digitalWrite(greenLight1, HIGH);
digitalWrite(redLight3, LOW);
digitalWrite(yellowLight3, LOW);
digitalWrite(greenLight3, HIGH);
digitalWrite(redLight2, HIGH);
digitalWrite(yellowLight2, LOW);
digitalWrite(greenLight2, LOW);
digitalWrite(redLight4, HIGH);
digitalWrite(yellowLight4, LOW);
digitalWrite(greenLight4, LOW);
delay(5000); // Wait 5 seconds
// --- PHASE 2: Set 1 & 3 YELLOW, Set 2 & 4 RED ---
// 2. SET 1 & 3 YELLOW (Set 2 & 4 RED)
digitalWrite(redLight1, LOW);
digitalWrite(yellowLight1, HIGH);
digitalWrite(greenLight1, LOW);
digitalWrite(redLight3, LOW);
digitalWrite(yellowLight3, HIGH);
digitalWrite(greenLight3, LOW);
digitalWrite(redLight2, HIGH);
digitalWrite(yellowLight2, LOW);
digitalWrite(greenLight2, LOW);
digitalWrite(redLight4, HIGH);
digitalWrite(yellowLight4, LOW);
digitalWrite(greenLight4, LOW);
delay(2000); // Wait 2 seconds
// --- PHASE 3: Set 1 & 3 RED, Set 2 & 4 GREEN ---
// 3. SET 2 & 4 GREEN (Set 1 & 3 RED)
digitalWrite(redLight1, HIGH);
digitalWrite(yellowLight1, LOW);
digitalWrite(greenLight1, LOW);
digitalWrite(redLight3, HIGH);
digitalWrite(yellowLight3, LOW);
digitalWrite(greenLight3, LOW);
digitalWrite(redLight2, LOW);
digitalWrite(yellowLight2, LOW);
digitalWrite(greenLight2, HIGH);
digitalWrite(redLight4, LOW);
digitalWrite(yellowLight4, LOW);
digitalWrite(greenLight4, HIGH);
delay(5000); // Wait 5 seconds
// --- PHASE 4: Set 1 & 3 RED, Set 2 & 4 YELLOW ---
// 4. SET 2 & 4 YELLOW (Set 1 & 3 RED)
digitalWrite(redLight1, HIGH);
digitalWrite(yellowLight1, LOW);
digitalWrite(greenLight1, LOW);
digitalWrite(redLight3, HIGH);
digitalWrite(yellowLight3, LOW);
digitalWrite(greenLight3, LOW);
digitalWrite(redLight2, LOW);
digitalWrite(yellowLight2, HIGH);
digitalWrite(greenLight2, LOW);
digitalWrite(redLight4, LOW);
digitalWrite(yellowLight4, HIGH);
digitalWrite(greenLight4, LOW);
delay(2000); // Wait 2 seconds
}