Marcel,
Je m'autorise par ailleurs une petite suggestion pour rendre le code plus lisible et plus facilement maintenable. Tout comme tu as déclaré et initialisé tes relais dans un tableau :
byte relais[] = {22,24,26,28,30,32,34,36,38,40,42,44,46,48,50,52};
Pourquoi ne pas faire de même pour tes pins out : const int Pin23 = 23;
jusqu'à 53 ? Pourquoi ne pas également mettre un type byte comme tu l'as fait pour les relais ?
byte pinOut[] = {23,25,27,29,31,33,...........};
et tant qu'à faire, puisque tu avais déclaré tes pins en constantes, eh bien tu fais la même chose pour les tableaux :
const byte relais[] = {22,24,26,28,30,32,34,36,38,40,42,44,46,48,50,52};
const byte pinOut[] = {23,25,27,29,31,33,...........};
L'avantage de passer par des tableaux est que tu pourras plus facilement manipuler tes données et simplifier ton code comme par exemple, au lieu de :
pinMode(Pin23, OUTPUT);//TORTOISE1
pinMode(Pin25, OUTPUT);//TORTOISE2
pinMode(Pin27, OUTPUT);//TORTOISE3
pinMode(Pin29, OUTPUT);//TORTOISE4
pinMode(Pin31, OUTPUT);//TORTOISE5
pinMode(Pin33, OUTPUT);//TORTOISE6
pinMode(Pin35, OUTPUT);//TORTOISE7
pinMode(Pin37, OUTPUT);//TORTOISE8
pinMode(Pin39, OUTPUT);//TORTOISE9
pinMode(Pin41, OUTPUT);//TORTOISE10
pinMode(Pin43, OUTPUT);//TORTOISE11
pinMode(Pin45, OUTPUT);//TORTOISE12
pinMode(Pin47, OUTPUT);//TORTOISE13
pinMode(Pin49, OUTPUT);//TORTOISE14
pinMode(Pin51, OUTPUT);//TORTOISE15
pinMode(Pin53, OUTPUT);//TORTOISE16
tu vas pouvoir écrire :
for( int i = 0; i < sizeof(pinOut); i++) {
pinMode(pinOut[i], OUTPUT);
}
comme tu l'as fait avec tes relais. Mais ici, sizeof(pinOut)
te permet d'ajouter ou retirer des pins et ton code fonctionne toujours. Et tu vois bien que tout le reste de ton code va aussi pouvoir être simplifié de la même manière.
Voilà des petites astuces de codage qui peuvent simplifier la vie.
Bien amicalement.
Christophe