const int ledPins[] = {2, 3, 4, 5};
const int numLeds = 4;
const int potPin = A0;
int potValue = 0;
int delayTime = 0;
int ledIndex = 0;
void setup() {
for (int i = 0; i < numLeds; i++) {
pinMode(ledPins[i], OUTPUT);
}
Serial.begin(9600);
}
void loop() {
potValue = analogRead(potPin);
delayTime = map(abs(potValue - 512), 0, 512, 1000, 0);
Serial.print("Pot Value: ");
Serial.print(potValue);
Serial.print(" | Delay: ");
Serial.println(delayTime);
if (potValue >= 492 && potValue <= 532) {
return;
}
resetLeds();
if (potValue < 492) {
ledIndex = (ledIndex - 1 + numLeds) % numLeds;
} else {
ledIndex = (ledIndex + 1) % numLeds;
}
digitalWrite(ledPins[ledIndex], HIGH);
delay(delayTime);
}
void resetLeds() {
for (int i = 0; i < numLeds; i++) {
digitalWrite(ledPins[i], LOW);
}
}