Bonjour à toutes et tous!
J'ai 11 boutons SPST qui changent l'état de 11 relais (ON/OFF).
Actuellement je suis capable d'interagir avec tout ca en utilisant des "IF" qui comparent l'état du bouton 1, 2, 3, ..., 11. Bien que cela fonctionne correctement, je n'aime pas cette façon de faire car le code est très long pour des actions répétitives.
Voici ce que j'ai comme code :
void loop() {
int i;
for(i = 0; 1 < 11; i++)
{
buttonState=digitalRead(Selecteur[i]);
if(i==0){
if(buttonState==HIGH){ digitalWrite(relayPin[0],buttonState); }
if(buttonState==LOW){ digitalWrite(relayPin[0],buttonState); }
}
if(i==1){
if(buttonState==HIGH){ digitalWrite(relayPin[1],buttonState); }
if(buttonState==LOW){ digitalWrite(relayPin[1],buttonState); }
}
if(i==2){
if(buttonState==HIGH){ digitalWrite(relayPin[2],buttonState); }
if(buttonState==LOW){ digitalWrite(relayPin[2],buttonState); }
}
if(i==3){
if(buttonState==HIGH){ digitalWrite(relayPin[3],buttonState); }
if(buttonState==LOW){ digitalWrite(relayPin[3],buttonState); }
}
... ... ... je n'ai pas tout mis car... répétitif...
Est-il possible de programmer les 11 entrées et 11 sorties via un array? Si oui, comment faire?
Merci