const uint8_t LED_PINS[] = {13, 12, 11};
const uint8_t BTN_PINS[] = {5, 4, 3};
enum { FIRST, SECOND, THIRD };
void setup()
{
for (uint8_t i = 0; i < 3; i++) {
pinMode(LED_PINS[i], OUTPUT);
}
for (uint8_t i = 0; i < 3; i++) {
pinMode(BTN_PINS[i], INPUT_PULLUP);
}
}
void loop()
{
if (!digitalRead(BTN_PINS[FIRST])) {
moveForward();
delay(200);
}
else if (!digitalRead(BTN_PINS[SECOND])) {
moveBackward();
delay(200);
}
else if (!digitalRead(BTN_PINS[THIRD])) {
turnAllOn();
}
turnAllOff();
}
void moveForward()
{
for (uint8_t i = 0; i < 3; i++) {
digitalWrite(LED_PINS[i], HIGH);
delay(1400);
digitalWrite(LED_PINS[i], LOW);
}
}
void moveBackward()
{
for (int8_t i = 2; i >= 0; i--) {
digitalWrite(LED_PINS[i], HIGH);
delay(1400);
digitalWrite(LED_PINS[i], LOW);
}
}
void turnAllOn()
{
for (uint8_t i = 0; i < 3; i++) {
digitalWrite(LED_PINS[i], HIGH);
}
delay(4200);
}
void turnAllOff()
{
for (uint8_t i = 0; i < 3; i++) {
digitalWrite(LED_PINS[i], LOW);
}
}