Ciao, finalmente sono riuscito a testare, ma mi appare una cosa strana.
Da seriale mi arrivano valori continuti, come se ci fosse una istruzione sempre valida.
Dovrei stampare i valori solo quando la variabile next è maggiore o uguale a 9
Il problema è che quella variabile looppa sempre, significa che il ciclo di for è sempre in esecuzione e non quando uno degli ingressi è stato portato in HIGH, mi aiuteresti a capire l' errore?
Grazie
#define N 9
byte inputs[N];
int next = 0;
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
}
void loop () {
for (byte i = 0; i < N; ++i) {
if (digitalRead (i) && next < N)
inputs[next++] = i;
}
if (next >= 9) {
for (byte i = 0; i < N; ++i) {
Serial.println (inputs[i]);
}
next = 0;
}
}