// Gisin Bernard /* ex012_digitalwrite_led_3_colors Séquence de couleurs de rouge -> jaune -> vert -> cyan -> bleu -> magenta puis retour au rouge. Le cycle se répète indéfiniment. Chaque couleur reste 1 seconde. Utilisation d'une LED tri-couleurs connectée aux PINs 12, 11 et 3. Le résultat est le même que celui de l'ex020, en plus efficace et plus court. *******************************************************************/ // Défini la correspondance entre les PIN et les couleurs. #define pinRouge 12 #define pinVert 11 #define pinBleu 3 #define cteCycleLen = 6 int nCycle = 0; // indique dans quel cycle on se trouve. int anCoul[cteCycleLen] = {pinBleu, pinVert, pinRouge, pinBleu, pinVert, pinRouge}; void setup() { //============= // Initialise les PINs comme OUTPUT pinMode(13, OUTPUT); // Pour des informations pinMode(pinRouge, OUTPUT); pinMode(pinVert, OUTPUT); pinMode(pinBleu, OUTPUT); digitalWrite(13, LOW); } void loop() { //============ // Changement de couleurs suivant le cycle défini dans anCoul digitalWrite(anCoul[nCycle], bitRead(nCycle, 0)); nCycle++; // passage au cycle suivant if (nCycle == cteCycleLen) nCycle = 0; // Attend une seconde delay(1000); } // loop