int ledMerah = 2;
int ledKuning = 3;
unsigned long intervalMerahNyala = 3000;
unsigned long intervalMerahMati = 3000;
unsigned long intervalKuningNyala = 5000;
unsigned long intervalKuningMati = 8000;
unsigned long previousMillisMerah = 0;
unsigned long previousMillisKuning = 0;
bool ledMerahStatus = LOW;
bool ledKuningStatus = LOW;
void setup() {
// put your setup code here, to run once:
pinMode(ledMerah, OUTPUT);
pinMode(ledKuning, OUTPUT);
}
void loop() {
// put your main code here, to run repeatedly:
unsigned long currentMillis = millis();
if (ledMerahStatus == HIGH && currentMillis - previousMillisMerah >= intervalMerahNyala) {
ledMerahStatus = LOW;
previousMillisMerah = currentMillis;
digitalWrite(ledMerah, LOW);
}
else if (ledMerahStatus == LOW && currentMillis - previousMillisMerah >= intervalMerahMati) {
ledMerahStatus = HIGH;
previousMillisMerah = currentMillis;
digitalWrite(ledMerah, HIGH);
}
if (ledKuningStatus == HIGH && currentMillis - previousMillisKuning >= intervalKuningNyala) {
ledKuningStatus = LOW;
previousMillisKuning = currentMillis;
digitalWrite(ledKuning, LOW);
}
else if (ledKuningStatus == LOW && currentMillis - previousMillisKuning >= intervalKuningMati) {
ledKuningStatus = HIGH;
previousMillisKuning = currentMillis;
digitalWrite(ledKuning, HIGH);
}
}