Светодиоды на потенциометре

ИИ сегодня добрый))

// Светодиоды на пинах D2..D9 (8 штук)
const uint8_t ledPins[8] = {2, 3, 4, 5, 6, 7, 8, 9};
const uint8_t LED_COUNT = 8;

// Потенциометр
const uint8_t POT_PIN = A7;

// Предыдущий активный светодиод (чтобы не переключать зря)
int lastLed = -1;

void setup() {
  for (uint8_t i = 0; i < LED_COUNT; i++) {
    pinMode(ledPins[i], OUTPUT);
    digitalWrite(ledPins[i], LOW);
  }
  Serial.begin(9600); // для отладки, можно убрать
}

void loop() {
  // Читаем потенциометр (0..1023)
  int potValue = analogRead(POT_PIN);

  // Определяем номер светодиода: 0..7
  // map() делает так, чтобы крайние положения попадали в 0 и 7
  int ledIndex = map(potValue, 0, 1023, 0, LED_COUNT - 1);
  ledIndex = constrain(ledIndex, 0, LED_COUNT - 1);

  // Если положение изменилось — переключаем светодиоды
  if (ledIndex != lastLed) {
    // Гасим все
    for (uint8_t i = 0; i < LED_COUNT; i++) {
      digitalWrite(ledPins[i], LOW);
    }
    // Зажигаем нужный
    digitalWrite(ledPins[ledIndex], HIGH);
    lastLed = ledIndex;

    Serial.print("ADC: ");
    Serial.print(potValue);
    Serial.print("  LED #");
    Serial.println(ledIndex + 1);
  }

  delay(20); // небольшая пауза от дребезга
}