@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.
- 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