// LED pin matrix
int ledPins[3] = {2, 4, 17};
// Global state variable (1 to 3)
int status = 0;
// Function to turn off all LEDs
void ledsOff() {
digitalWrite(ledPins[0], LOW);
digitalWrite(ledPins[1], LOW);
digitalWrite(ledPins[2], LOW);
}
// Function to show status with IF/ELSE IF
void ledOn() {
ledsOff();
if (status == 1) {
digitalWrite(ledPins[0], HIGH);
}
else if (status == 2) {
digitalWrite(ledPins[1], HIGH);
}
else if (status == 3) {
digitalWrite(ledPins[2], HIGH);
}
}
// Process control function
void controlProcess_IF() {
status++;
if (status > 3) {
status = 1;
}
ledOn();
}
// Initialization
void setup() {
pinMode(ledPins[0], OUTPUT);
pinMode(ledPins[1], OUTPUT);
pinMode(ledPins[2], OUTPUT);
ledsOff();
}
// Main program
void loop() {
controlProcess_IF();
delay(1000); // time delay (1 second)
}