Switch case als Programm-Modi

Hallo zusammen,

vllt. habt ihr eine Idee oder ein Beispiel.
Ich möchte ein Switch Case als Modi-Funktion nutzen.
Dieser soll 3 Modis erhalten evtl. auch mehr.
Sprich wenn 2 digitale Eingänge auf 0 sind, dann soll er den 1 Case bearbeiten solange bis ein Eingang auf High ist dann soll er den nächsten Case abarbeiten usw.
Also jeder Case hat eine genaue Zuordnung von digitalen Eingänge und muss diesen abarbeiten, wenn diese erfüllt sind und direkt den Case wechseln, wenn sich die Signale an den Eingängen verändert.

Bsp.:
Pin 3 und Pin 4 = Low -> Case 0
Pin 3 = Low und Pin 4 = High -> Case 1
Pin 3 = High und Pin 4 = Low -> Case 2
usw.

Ihr würdet mir sehr helfen.

Grüße

Example:
Pin 3 and Pin 4 = Low → Case 0
Pin 3 = Low and Pin 4 = High → Case 1
Pin 3 = High and Pin 4 = Low → Case 2
etc.

0 0 → 0
0 1 → 1
1 0 → 2

They’re just binary numbers.
Pack the pin values into a variable, and use the variable as your switch control value.

chris786:
Ich möchte ein Switch Case als Modi-Funktion nutzen.
Dieser soll 3 Modis erhalten evtl. auch mehr.
Also jeder Case hat eine genaue Zuordnung von digitalen Eingänge und muss diesen abarbeiten, wenn diese erfüllt sind und direkt den Case wechseln, wenn sich die Signale an den Eingängen verändert.

Bsp.:
Pin 3 und Pin 4 = Low -> Case 0
Pin 3 = Low und Pin 4 = High -> Case 1
Pin 3 = High und Pin 4 = Low -> Case 2
usw.

Späte Antwort ist auch eine Antwort... Mir fehlt bisher auch nach mehrfachem lesen die Logik, warum Du das doppelt moppeln willst.
Du hast doch schon ein wenn...dann Konstrukt.
Warum willst Du daraus noch zusätzlich ein switch...case machen?

void loop() {
  if (!digitalRead(PIN3)) // Wenn LOW
  {
    if (!digitalRead(PIN4)) // Wenn LOW && LOW
    {
      // mache hier 0
    }
    else                    // Wenn LOW && HIGH
    {
      // mache hier 1
    }
  }
  else
  {
    if (!digitalRead(PIN4)) // Wenn HIGH && LOW
    {
      // mache hier 2
    }
    else                    // Wenn HIGH && HIGH
    {
      // mache hier 3
    }
  }
}

oder hab ich was nicht verstanden?

Da gibt es hier schon Antworten.
Warum der TO das Doppelt reingestellt hat, weiß er wohl selbst nicht.