Dynamische Variablennamen

Hallo, ich habe gelesen, dass C++ keine dynamischen Variablennamen kennt. Stimmt das? Habt ihr einen Vorschlag, wie ich den Code kürzer fassen kann? Es ändert sich nur die Zahl im Namen des Pins für die jeweilige LED, abhängig vom Wert in charge.

        switch (charge)
          {
            case 1:
              for(int i=0; i<15; i++)
              {
                  tone(PIN_PIEZO, 800);
                  digitalWrite(PIN_RED1, HIGH); delay(150);
                  digitalWrite(PIN_RED1, LOW); delay(150);
                  noTone(PIN_PIEZO);
              }
              break;
            case 2:
              for(int i=0; i<15; i++)
              {
                  tone(PIN_PIEZO, 800);
                  digitalWrite(PIN_RED2, HIGH); delay(150);
                  digitalWrite(PIN_RED2, LOW); delay(150);
                  noTone(PIN_PIEZO);
              }
              break; 
            case 3:   
              for(int i=0; i<15; i++)
              {
                  tone(PIN_PIEZO, 800);
                  digitalWrite(PIN_RED3, HIGH); delay(150);
                  digitalWrite(PIN_RED3, LOW); delay(150);
                  noTone(PIN_PIEZO);
              }
              break;
          }

Array uint8_t pins[3];?

Je nach dem was man darunter versteht, könnte man das mit JA beantworten.

Du möchtest einen, oder mehrere, endliche Automaten bauen.
(auch wenn du das selber noch nicht weißt)

leg deine Pins in ein Array, dann hast du deine "Durchnummerierung".

Auch eine Funktion wo das Pin übergeben wird könnte helfen.
Grüße Uwe

void forumcodesplitter()
{
  uint8_t chargePin = 255;
  switch (charge)
  {
    case 1: chargePin = PIN_RED1; break;
    case 2: chargePin = PIN_RED2; break;
    case 3: chargePin = PIN_RED3; break;
  }
  if (chargePin != 255)
  {
    for (int i = 0; i < 15; i++)
    {
      tone(PIN_PIEZO, 800);
      digitalWrite(chargePin, HIGH);
      delay(150);
      digitalWrite(chargePin, LOW);
      delay(150);
      noTone(PIN_PIEZO);
    }
  }
}

Ich danke euch für die nachvollziehbaren Vorschläge! Nichtsdestotrotz werde ich tatsächlich auch aus diesem Code erst einmal eine endliche Maschine basteln.
Danke!