Flexibel Variable auswählen

Hey in einem neuen Projekt von mir erzeuge ich am Anfang einige Variablen die ich auch so bezeichne wie hier

int P1 = 0;
int P2 = 0;
int P3 = 0;

usw.....

jetzt möchte ich im Programm Flexibel auswählen zb wenn der Wert 2 kommt mal abgesehen von wo er kommt ob er random erzeugt wird oder wie auch immer will ich in die Variable P2 etwas speichern wie kann ich das in die Programmierung umsetzten soll ungefähr so aussehen bzw so macht es Sinn in meinem Kopf

2 wurde erzeugt -> P(2) = Wert

Vielen Dank für eure Hilfe

Ich verstehe zwar Deine Beschreibung nicht, aber Arrays könnten Dir helfen.

Gruß Tommy

1 Like

Mit Arrays.
Arrays haben ein Index und darum kann mit einer Variable die jeweilige Arrayvariable auswählen.
Das Array beginnt mit 0.
array[10] geht von array[0] bis array[9]

https://www.arduino.cc/reference/de/language/variables/data-types/array/

Grüße Uwe

Das widerspricht sich.
Wenn 2 erzeugt wurde, dann ist P(2) immer Wert.
Ist Wert ein bool, geht nur true/false - HIGH/LOW oder 0/1
Ist Wert ein (unsigned)int ist P(2) immer Wert.
Also ist P(2) immer zum Beispiel 7654.

Solltest Du das als 'bei true ++' meinen, dann kommt es der Sache evtl. näher.
Suchst Du sowas?

int P1 = 0;
int P2 = 0;

void setup()
{
  Serial.begin(115200);
  Serial.println(F("Start..."));
}

void loop()
{
  char c = Serial.read();
  switch (c)
  {
    case '1':
      P1++;
      Serial.println(P1);
      break;
    case '2':
      P2++;
      Serial.println(P2);
      break;
    case '3':
      P1 = 0;
      P2 = 0;
      Serial.println(P1);
      Serial.println(P2);
      break;
  }
}

Der Name einer Variable ist nach dem Übersetzen (und Hochladen) unbekannt. Und ob im Namen P2 eine 2 vorkommt, ist erst recht egal.

Arrays sind eine einfache Möglichkeit.
Komplizierter kannst du Objekte erzeugen, die die von dir gewünschte Eigenschaft (2) zur Laufzeit enthalten, diese dann suchen und das entsprechende Element benutzen.

struct Element {
byte ID;
int wert;
};

Das ist allerdings komplizierter als ein Array aus Werten, und macht nur Sinn, wenn es bei weitem nicht für jeden Index ein Element gibt. Das kann man aus deiner Frage/Beispiel ( P1, P2, P3 ) nicht erkennen.