Требуется помощь в написании кода

Думаю что у тебя получится реализовать идею с гирляндами в педале, как сделаешь - похвались.
Она реализованна в педали тормаза. там один концевик, по этому же принцыпу два не сложно сделать. Третий уже есть на нетраль.

const int ledPins[] = {2, 3, 4, 5, 6}; // Пины для 5 диодов
const int buttonNextPin = 7;           // Пин для кнопки "Следующий"
const int buttonPrevPin = 8;           // Пин для кнопки "Предыдущий"
const int buttonSetPin = 9;            // Пин для кнопки "Установить"

// Переменные для управления состоянием
int currentLed = 0;  // Индекс текущего активного диода (начинаем с первого)

// Для хранения состояния кнопок
bool lastButtonNextState = LOW;
bool lastButtonPrevState = LOW;
bool lastButtonSetState = LOW;

void setup() {
  // Инициализация пинов
  for (int i = 0; i < 5; i++) {
    pinMode(ledPins[i], OUTPUT);  // Устанавливаем пины для диодов как выходы
  }

  pinMode(buttonNextPin, INPUT_PULLUP);  // Кнопка "Следующий" с подтягивающим резистором
  pinMode(buttonPrevPin, INPUT_PULLUP);  // Кнопка "Предыдущий" с подтягивающим резистором
  pinMode(buttonSetPin, INPUT_PULLUP);   // Кнопка "Установить" с подтягивающим резистором

  // Изначально выключаем все диоды
  for (int i = 0; i < 5; i++) {
    digitalWrite(ledPins[i], LOW);
  }
  digitalWrite(ledPins[currentLed], HIGH);  // Включаем первый диод
}

void loop() {
  // Чтение состояния кнопок
  bool buttonNextState = digitalRead(buttonNextPin);
  bool buttonPrevState = digitalRead(buttonPrevPin);
  bool buttonSetState = digitalRead(buttonSetPin);

  // Кнопка "Следующий" (переключаем на следующий диод)
  if (buttonNextState == LOW && lastButtonNextState == HIGH) {
    // Если кнопка была нажата и текущий диод не 5-й, переходим к следующему
    if (currentLed < 4) {  // Диод 5 игнорирует кнопку "Следующий"
      digitalWrite(ledPins[currentLed], LOW);  // Выключаем текущий диод
      currentLed = (currentLed + 1) % 5;      // Переходим к следующему диоду
      digitalWrite(ledPins[currentLed], HIGH); // Включаем следующий диод
      delay(200);  // Задержка для предотвращения дребезга кнопки
    }
  }

  // Кнопка "Предыдущий" (переключаем на предыдущий диод)
  if (buttonPrevState == LOW && lastButtonPrevState == HIGH) {
    // Если кнопка была нажата и текущий диод не 1-й, переходим к предыдущему
    if (currentLed > 0) {  // Диод 1 игнорирует кнопку "Предыдущий"
      digitalWrite(ledPins[currentLed], LOW);  // Выключаем текущий диод
      currentLed = (currentLed + 4) % 5;      // Переходим к предыдущему диоду
      digitalWrite(ledPins[currentLed], HIGH); // Включаем предыдущий диод
      delay(200);  // Задержка для предотвращения дребезга кнопки
    }
  }

  // Кнопка "Установить" (зажигаем диод 2)
  if (buttonSetState == LOW && lastButtonSetState == HIGH) {
    // Если кнопка была нажата, зажигаем диод под номером 2
    digitalWrite(ledPins[currentLed], LOW);  // Выключаем текущий диод
    currentLed = 1;  // Устанавливаем диод 2 (индекс 1)
    digitalWrite(ledPins[currentLed], HIGH); // Включаем диод 2
    delay(200);  // Задержка для предотвращения дребезга кнопки
  }

  // Обновляем состояние кнопок
  lastButtonNextState = buttonNextState;
  lastButtonPrevState = buttonPrevState;
  lastButtonSetState = buttonSetState;
}