Ciao a tutti,
avrei bisogno un'aiutino :P:
Ho fatto questo programma per fare un set reset di 16 uscite attraverso 16 pulsanti (praticamente devo far funzionare 16 relè come se fossero passo-passo.
Prendendo spunto dagli esempi ho iniziato a mettere giù il codice per un ingresso e un'uscita, l'ho provato e tutto funziona bene, adesso dovrei fare la stessa cosa per gli altri 15ingressi/uscite ma non volevo scrivere 10 km di codice, così pensavo di fare un ciclo FOR dove scansionare i 16 pulsanti e attivare/disattivale le uscite corrispondenti. Mi sono un po' perso sui Reference di arduino.cc tra ARRAY e cicli FOR ... qualcuno è in grado di aiutarmi ?!
Questo è il codice per una coppia pulsante/relè:
const int Ingresso = 22;
const int Uscita = 23;int ContaIngressi = 0;
int StatoPulsante = 0;
int UlsimoStatoPulsante = 0;void setup() {
pinMode(Ingresso, INPUT);
digitalWrite(Ingresso, HIGH);
}void loop() {
StatoPulsante = digitalRead(Ingresso);
delay(50);
if (StatoPulsante != UlsimoStatoPulsante) {
if (StatoPulsante == HIGH) {
ContaIngressi++;
}
}
UlsimoStatoPulsante = StatoPulsante;
}
if (ContaIngressi % 2 == 0) {
digitalWrite(Uscita, HIGH);
} else {
digitalWrite(Uscita, LOW);
}
}
Mi sapete dire come devo modificare il codice ? GRAZIE !
Ah dimenticavo di dirvi che uso un Arduino Mega e che ingressi e uscite non sono consecutivi:
Ingressi: 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52
Uscite: 23, 25, 27, 29, 31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51, 53