puoi usare gli array (quì uso 2 array paralleli, ma una matrice è più "pulita" per evitare diverse dimensioni tra i 2 array):
int dimensioneArray=10;
int arrayPin[] = {2,3,4,5,6,7,8,9,10,11};
int arrayStato[] = {HIGH,HIGH,LOW,HIGH,LOW,HIGH,HIGH,LOW,LOW,LOW}; //attenzione HIGH e LOW non sono boolean ma int!!!
int settaPin(int pin[], int stati[], int dimensione){
for(int i=0;i<dimensione;i++){
digitalWrite(arrayPin[i], stati[i]);
}
}
altra versione, che però deve settare tutti i pin in nel range da "inizio" a "fine":
int settaPin(int stati[], int inizio, int fine){
for(int i=inizio;i<fine;i++){
digitalWrite(i, stati[i]);
}
}
In tutti i casi devi fare attenzione alle dimensioni e all'inizializzazione degli array, ovviamente