const int leds[4] = {2, 3, 4, 5};
const int buttons[4] = {6, 7, 8, 9};
int mode = -1;
void setup() {
for (int i = 0; i < 4; i++) {
pinMode(leds[i], OUTPUT);
pinMode(buttons[i], INPUT_PULLUP);
}
}
void loop() {
for (int i = 0; i < 4; i++) {
if (digitalRead(buttons[i]) == LOW) {
mode = i;
}
}
switch (mode) {
case 0:
modeOne();
break;
case 1:
modeTwo();
break;
case 2:
modeThree();
break;
case 3:
modeFour();
break;
default:
allOff();
break;
}
}
void modeOne() {
for (int i = 0; i < 4; i++) {
digitalWrite(leds[i], HIGH);
}
delay(300);
for (int i = 0; i < 4; i++) {
digitalWrite(leds[i], LOW);
}
delay(300);
}
void modeTwo() {
for (int i = 0; i < 4; i++) {
digitalWrite(leds[i], HIGH);
delay(150);
digitalWrite(leds[i], LOW);
}
}
void modeThree() {
for (int i = 0; i < 4; i++) {
digitalWrite(leds[i], HIGH);
delay(100);
digitalWrite(leds[i], LOW);
}
for (int i = 2; i > 0; i--) {
digitalWrite(leds[i], HIGH);
delay(100);
digitalWrite(leds[i], LOW);
}
}
void modeFour() {
for (int i = 0; i < 4; i++) {
digitalWrite(leds[i], i % 2 == 0 ? HIGH : LOW);
}
delay(300);
for (int i = 0; i < 4; i++) {
digitalWrite(leds[i], i % 2 != 0 ? HIGH : LOW);
}
delay(300);
}
void allOff() {
for (int i = 0; i < 4; i++) {
digitalWrite(leds[i], LOW);
}
}