variable übergeben und anhängen

Hallo,

ich habe ein programm das 8x das gleiche tut, im moment habe ich 8 if mit fast dem gleichen Code.
Ich zähle mit for von 0 bis 7, jetzt würde ich gerne immer das x aus der for schleife über geben und daraus
dann verschiedene variable generieren, evtl. so wie im Beispiel:
In einem anderen Beispiel hat das jemand mit +variable gemacht, das funzt bei mir aber nicht,
was mach ich falsch?

  stepnr = activestep +1 ;
  if (currentSwitchState+stepnr == 1) {
                AnalogValue+stepnr = analogRead(activestep);
                notestepnr = AnalogValue+stepnr/8;
                noteOn(0xB0, 0x7B, 0x00);
                noteOn(0x90, note+stepnr, 0x7F);
                //einstellen wie lange der sound ausklingt
                //  81  2B  4D 
                digitalWrite(LEDpin+stepnr, HIGH);
                delayNI(50);
                digitalWrite(LEDpin+stepnr, LOW);
                delayNI(currentTime);
            } else {
              delayNI(currentTime);
            }

Das was du suchst ist denke ich mal ein Array. Du kannst die Werte dann in array[i+1] speichern.

Um etwas genaues zu sagen wäre der ganze Code Hilfreich damit man sich ein bisschen rein denken kann. Dies ist ja nur der Auszug der 8* gemacht wird

Um etwas genaues zu sagen wäre der ganze Code Hilfreich damit man sich ein bisschen rein denken kann. Dies ist ja nur der Auszug der 8* gemacht wird

Genau !

Und um eine 8-fache Fallunterscheidung zu machen, sind die Switch / Case - Befehle hilfreich

Beispül:

switch (var) {
case 1:
//do something when var equals 1
break;
case 2:
//do something when var equals 2
break;
default:
// if nothing else matches, do the default
// default is optional
}

Du kannst auch eine Funtion schrieben.
ausserhalb

int z=0;

void setup(){
}

void loop(){
MeineFunktion(6); // übergibt eine 6 an deine geschrieben Funktion d.h. der Analogausgang 6 wird mit dem Wert 6 beschreiben und macht 6ms pause
MeineFunktion(250); // übergibt eine 250 an deine Funktion Analogausgang wird mit 250 beschrieben und 250ms gewartet
z=MeineFunktion2(8); // z wird hier dann eine 24 erhalten da du eine 8 übergibt diese dann in der Funtkion mal 3 grechnet wird und dann das ergebniss zureückgegebn wird (du kannst ausserhalb dern MeineFunktion2 nicht auf y zugreifen also nur innerhalb MeineFunktion2(),
}

void MeineFunktion(int x){ // diese Funktion kann nichts zurückgeben in die Main void==leer
analogWrite(6,x);
delay (x);
//Hier kommt dein Code rein der gleich ist und indem Wert X (hier ein integer geht auch long byte also alle Datentypen)
}

int MeineFunktion2(int x){ // diese Funktion gibt eine Intergervariable zurück
int y;
y=x*3;
return y;
}