Ausgewählten Wert aus Array in Formel einbauen

Guten Tag zusammen,

über ein Displaymenü kann ich mit meinem Arduino verschiedene Parameter für eine Härteprüfung auswählen. Die eingestellten und angezeigten Werte würde ich aber nun gerne für eine Berechnung in eine Formel einfügen. Wie im angehängten Bild zu sehen, würde ich gerne aus dem Wert d1 und d2 einen Mittelwert dm bilden. Da d1 und d2 jedoch aus einem Array stammen, weiß ich nicht wie ich ihnen eine Variable zuweisen soll um mit ihnen weiterarbeiten zu können?
Ich hoffe das dies irgendwie möglich ist.

Vielen Dank und Grüße,
Bratapfel

Main__Programm.ino (14 KB)

Und?

In welchem Array stecken die Werte?

Wo ist dein Problem?

Array

Die Beschreibung zu den Arrays ist sehr gut, nur leider bringt sie mich nicht weiter, oder ich verstehe es einfach nicht.
Die Werte, die ich eine Formel einbauen will, werden mit einem Drehencoder ausgewählt. Das heißt, das ich im Vorhinein nicht definieren kann welcher Wert aus meinem Array in der Formel landet. Ich müsste Praktisch für einen undefinierten Wert, wie im Bild z.b. d1=11 eine Variable definieren. Wie kann ich nun dafür sorgen, dass der Wert von d1 in der Formel dm=(d1+d2)/2 landet?

Besteht die Möglichkeit den entsprechenden Wert direkt aus dem Menüpunkt von d1 (siehe Bild Unbekannt 2) auszulesen?

d1=values[4][1];
d2=values[5][1];
// oder
dm=(values[4][1]+values[5][1])/2;

Ich empfinde solche "Strukturen" als krank.
Oder, zumindest für stark verbesserungswürdig.

EDIT:
Durchgestrichen, weil falsch!

@combie
wieso nimmst Du ein 2 dimensionales Array?

@Bratapfel

im array sind zB

int array [3];
array[0] = 10;
array[1] = 100;
array[2] = 1000;

Drehschalter = Read_Drehschalter() // liest position vom Drehschalter zB von 0 bis 2.

dm=(array[Drehschalter]+d2)/2

Grüße Uwe

uwefed:
@combie
wieso nimmst Du ein 2 dimensionales Array?

Bratapfel verwendet ein 2D Array.
Und dann ist er/sie/es überfordert, da die Werte rauszufummeln.

Und was ich davon halte, sachte ich auch schon.....

im Sketch in #0 finde ich kein 2-dimensionales Array.

int values[] ist eindimensional.

Grüße Uwe

Sorry, da habe ich mich wirklich derbe vertan!
Da war wohl der Wunsch, die Mutter des Blickwinkels.

Klarer: Uwe, du hast voll Wahr!
(und ich behaupte ab jetzt das Gegenteil vom Vorherigen)

d1=values[17];
d2=values[22];

// oder 
 dm=(values[17]+values[22])/2;

Und jetzt sieht man es nochmal recht deutlich, warum eine solche "Struktur" ziemlich "unschmackhaft" ist.