#define BTN_PIN 2
#define STEP 5
int pins[] = {8, 9, 10, 11};
int clock[] = {0, 1, 2, 3};
int counter[] = {3, 2, 1, 0};
void setup() {
for (int i = 0; i < 4; i++) {
pinMode(pins[i], OUTPUT);
digitalWrite(pins[i], LOW);
}
pinMode(BTN_PIN, INPUT_PULLUP);
}
void loop() {
int *steps = digitalRead(BTN_PIN) ? clock : counter;
for (int i = 0; i < 4; i++) {
digitalWrite(pins[steps[i]], HIGH);
delay(STEP);
digitalWrite(pins[steps[i]], LOW);
}
}