Sequenza di led inirizzabili controllati dal piedino A2

Buongiorno programmatori,
Vi allego uno sketch in cui vorrei far iniziare la sequenza di luci e accendere il led dell'uscita 13, appena A2 riceve la tensione, e fin qui va bene, ma vorrei che tale sequenza finisse spegnendo l'ultimo led che poi sarebbe il primo della striscia, invece la sequenza si ferma lasciando accesi 72 led, quindi si spegne il led dell'uscita 13.
Senza l' if e quello che viene dall'else in poi, i led si spengono tutti ma mentre la sequenza ricomincia

Come potrei far si che la sequenza si ferma allo spegnimento dell'ultimo led ?

Allego foto di come si ferma la sequenza

Grazie

#include <FastLED.h>
#define NUM_LEDS 250
#define InputAnalogico A2
CRGBArray<NUM_LEDS> leds;
const int led1 = 13;

void setup() {
  FastLED.addLeds<NEOPIXEL, 6>(leds, NUM_LEDS);
  pinMode(led1, OUTPUT);
}
void loop()
{ int SensoreSu = analogRead(InputAnalogico);

  if (SensoreSu > 140) {

    static uint8_t colori;
    for (int i = 230; i > NUM_LEDS - 251; i--)
    { leds.fadeToBlackBy(10);  // lo spazio spento
      leds[i] = CHSV(colori++, 255, 255);
      leds(NUM_LEDS / 1, NUM_LEDS - 1) = leds(NUM_LEDS / 5 - 1 , 0);
      FastLED.delay(30); //la velocità
      digitalWrite(led1, HIGH);
    }
  }
  else {

    static uint8_t hue;
    for (int i = 72; i > NUM_LEDS - 73; i--) 
    { leds.fadeToBlackBy(10);
      leds[i] = CHSV(hue++, 255, 255);
      leds(NUM_LEDS / 1, NUM_LEDS - 1) = leds(NUM_LEDS / 5 - 1 , 0);
      FastLED.delay(30); //la velocità
      digitalWrite(led1, LOW);
    }
  }
}