// Forum: https://forum.arduino.cc/t/how-backwards-functions-in-code/1101167
// This Wokwi project: https://wokwi.com/projects/359042982266722305
const int LED_COUNT = 7;
int LED_PINS[LED_COUNT] = {3, 5, 6, 9, 10, 11};
int currentPosition = LED_COUNT - 2;
int delayTime = 100;
float brightness = 0.5;
void setup() {
for (int i = 0; i < LED_COUNT; i++) {
pinMode(LED_PINS[i], OUTPUT);
// digitalWrite(LED_PINS[i], LOW);
}
}
void loop()
{
if (currentPosition == LED_COUNT - 2)
{
for (int i = LED_COUNT - 2; i >= 0; i--)
{
analogWrite(LED_PINS[i], brightness * 255);
delay(delayTime);
digitalWrite(LED_PINS[i], LOW);
}
}
for (int i = 0; i <= currentPosition; i++)
{
analogWrite(LED_PINS[i], brightness * 255);
delay(delayTime);
digitalWrite(LED_PINS[i], LOW);
}
analogWrite(LED_PINS[currentPosition], brightness * 255);
currentPosition--;
}