Étape 4: Codage beaucoup plus attractif
J’ai ajouté 8 po et sorties et reconnu qu’il doit y avoir une façon beaucoup plus élégante de l’écriture.
La réponse à la question était : tableaux
Donc à l’étape finale, nous utilisons des tableaux pour résoudre les problèmes anciens.
int i ;
int x = 9 ; Nombre d’entrées
int y = 9 ; Nombre de sorties
buttonState char ; état réel du bouton
char lastButtonState [9] ; dernier état de bouton
int pinOUTarray [] = {22, 23, 24, 25, 26, 27, 28, 29, 30} ; BROCHE sur le tableau pour la broche 22-30
int pinINarray [] = {40, 41, 42, 43, 44, 45, 46, 47, 48, 53} ; Tableau en PIN pin 40-48 et 53
void setup()
{
Initialiser les broches de données Arduino pour la sortie
pour (i = 0; i
pinMode (pinOUTarray [i], sortie) ;
}
Initialiser les broches de données Arduino pour l’entrée avec résistance Pullup
pour (i = 0; i
pinMode (pinINarray [i], INPUT_PULLUP) ;
}
Les broches de données Arduino pour le dernier état du bouton de mise en service
pour (i = 0; i
lastButtonState [i] = digitalRead(pinINarray[i]) ;
}
}
void loop() {}
pour (i = 0; i
lire l’état du bouton
buttonState = digitalRead(pinINarray[i]) ;
Si (buttonState == LOW & & buttonState! = {lastButtonState[i])}
activer/désactiver relais
digitalWrite (pinOUTarray [i],! digitalRead(pinOUTarray[i])) ;
}
lastButtonState [i] = buttonState ; enregistrer l’état du bouton de dernière
}
Delay(30) ; interrupteur simple debounce
}