Herausfinden an welchem Pin HIGH anliegt?

Hallo!

Ich habe über einige Digitalpins Taster angeschlossen und in einem Array gespeichert,
nun warte ich mit "while(btnState[0,1,2,3,6,7,8,9]== LOW){}" ab bis einer der States auf High geht, und würde dann gerne einer Variable einen Bestimmten wert zuordnen.

Geht das per switch- case Anweisung?

switch(btnState[btnarrynmb] == HIGH)
{
case 0 : TasterNummer = 0;
break;
case 1 : TasterNummer = 1;
break;
case 2 : TasterNummer = 2;
break;
case 3 : TasterNummer = 3;
break;
case 6 : TasterNummer = 4;
break;
case 7 : TasterNummer = 5;
break;
case 8 : TasterNummer = 6;
break;
case 9 : TasterNummer = 7;
break;
default : return 0;
}

Vielen Dank und liebe Grüße!

Hallo,

ganz so simpel gehts nun nicht. Zeig mal den gesamten Code.
Bitte Code Tags oben links </> verwenden, sonst wird er verstümmelt bei Sonderzeichen etc.
Wie hast du die Taster elektrisch angeschlossen?

switch() benötigt eine Zahl oder einen Buchstaben als Parameter, nicht boolean.

Die Zuweisung der btnStates fehlt auch noch mit mindestens digital Read.
Mal den ganzen Code.
Gruß
DerDani

Hört sich für mich so an, als müsstest du eigentlich nicht den "Umweg" über ein Array gehen. Besser erklären, bzw. Code her.
Wahrscheinlich ist sowas eher was du willst:

buttonPin [6] = {4,5,6,7,8,9};

for( int i = 0; i < 6; i++){ 
  if( digitalRead( buttonPin[i] ) == HIGH){
    TasterNummer = i ;
    break;
  }
}

hi,

fast, aber:

TasterNummer = buttonPin[i]

gruß stefan