const int redPin = 2;
const int yellowPin = 3;
const int greenPin = 4;
const int pedestrianButtonPin = 5;
void setup() {
pinMode(redPin, OUTPUT);
pinMode(yellowPin, OUTPUT);
pinMode(greenPin, OUTPUT);
pinMode(pedestrianButtonPin, INPUT_PULLUP);
}
void loop() {
if (digitalRead(pedestrianButtonPin) == LOW) {
// Pedestrian button pressed
pedestrianMode();
} else {
// Normal traffic light operation
normalOperation();
}
}
void changeColor(int pin, int duration) {
digitalWrite(redPin, LOW);
digitalWrite(yellowPin, LOW);
digitalWrite(greenPin, LOW);
digitalWrite(pin, HIGH);
delay(duration * 1000);
}
void normalOperation() {
changeColor(redPin, 5);
changeColor(yellowPin, 2);
changeColor(greenPin, 5);
}
void pedestrianMode() {
changeColor(yellowPin, 1);
changeColor(greenPin, 5);
normalOperation();
}