Gestione multipulsante

@torn24
non usare il Pin 1 per i LED. Questo pin serve per il collegamento al PC attraverso l' adattatore USB. Se colleghi qualcosa ai pin 0 e 1 puó non funzionare piú la seriale e l'upload.

  1. mettere la tabella quale LED accendere per quale pulsante in un array bidimensionale. Tipo ledstato [ 0 ][ 0 ] = 1; oppure =0; (pulsante 0, led 0: acceso o spento). Per caricarlo veloce vedi http://www.w3ii.com/it/arduino/arduino_multi_dimensional_arrays.html
byte ledstato[8][10] = { 
  {1,1,1,1,1,0,0,0,0,0},    // stato dei led correspondenti al primo pulsante 
  {0,0,0,0,0,1,1,1,1,1},
 .... 
};
byte pinpulsante[8] = {2,3,4,5,6,7,8,9,10}  // 8 pin dei pulsanti
byte pinled[10] = {30,31,32,33,34,35,36,37,38,39}  // 10 pin dei LED su un Arduino MEGA2560

Stessa cosa per i pin dei pulsanti e i pin dei led con un array monodimensionale.
2) poi fai un for per leggere i pulsanti uno dopo l' altro e secondo for per leggere lo stato di ogni led corrispondente al pulsante. Scrivi il contenuto del elemento sul pin del LED.

for (int i  = 0;i<8;i++)  //legge un pulsante dopo l' altro. premuto = HIGH
  {
  if (digitalread (pinpulsante[i] == 1) // se premuto accendi/spegni i LED
    {
    for(int j=0; j<10;j++)
    {
    digitalWrite(pinled[j], ledstato[i][j]);  // accendi/spegni i led in funzione del pulsante e del led
    }
  }
}

In questo modo i LED vengono accesi o spenti automaticamente.

Ciao Uwe