const int redLedPin = 2; // Pin untuk lampu merah
const int yellowLedPin = 3; // Pin untuk lampu kuning
unsigned long previousMillisRed = 0;
unsigned long previousMillisYellow = 0;
const long intervalRed = 3000;
const long intervalYellow = 5000;
const long intervalYellowOff = 8000;
bool redLedState = LOW;
bool yellowLedState = LOW;
void setup() {
pinMode(redLedPin, OUTPUT);
pinMode(yellowLedPin, OUTPUT);
}
void loop() {
unsigned long currentMillis = millis();
//for control red LED
if (currentMillis - previousMillisRed >= intervalRed) {
redLedState = !redLedState;
digitalWrite(redLedPin, redLedState);
previousMillisRed = currentMillis;
}
// Kontrol lampu kuning
int setInterval = (yellowLedState == LOW) ? intervalYellowOff : intervalYellow;
if(currentMillis - previousMillisYellow >= setInterval) {
yellowLedState = !yellowLedState;
digitalWrite(yellowLedPin, yellowLedState);
previousMillisYellow = currentMillis;
}
}