Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define pinledR 9 // pinsortie led rouge en 9
- byte pinledB[]={2,3 ,4,5,6,7}; //pins sorties leds blanches
- unsigned long ledRtime; // base de tesmps led Rouge
- unsigned long oldtime[10]; // tableau pour bases de temps leds blanches
- int delai[10]; // tableau durée pas de luminosité leds
- uint8_t lumled[10]; // tableau luminosuté leds
- uint8_t numled[][2]={ // correspondance n° pin sortie PWM
- {0,0}, // avec n° des pins leds blanches
- {5,2},
- {5,3},
- {5,4},
- {5,7},
- {6,2},
- {6,3},
- {6,4},
- {6,7},};
- uint8_t nled=1;
- byte ledrouge =0; //état led rouge (éteint/allumé)
- int clignoteR =500; // 1/2 fréquence clignotement led rouge
- void setup() {
- pinMode(pinledR,OUTPUT); // aafectation en Sortie
- for (byte i=0;i<6;i++)
- {pinMode(pinledB[i],OUTPUT);}
- for (byte i=1;i<5;i++)
- {digitalWrite(numled[i][1],OUTPUT);} // sorties ledsB à 1
- oldtime[0]=0;
- for (byte i=0;i<9;i++)
- {oldtime[i]=0;lumled[i]=0;}
- delai[0]=2; //delai pas luminosité led rouge
- delai[1]=2; //delai pas luminosité led blanche 1
- delai[2]=2; //delai pas luminosité led blanche 2
- delai[3]=2; //delai pas luminosité led blanche 3
- delai[4]=2; //delai pas luminosité led blanche 4
- delai[5]=2; //delai pas luminosité led blanche 5
- delai[6]=2; //delai pas luminosité led blanche 6
- delai[7]=2; //delai pas luminosité led blanche 7
- delai[8]=2; //delai pas luminosité led blanche 8
- }
- void loop() {
- // clignotement led rouge (luminosité progressive)
- if ((millis()-ledRtime)>clignoteR) // Base de temps clignoteR à 500 ms
- {ledrouge=!ledrouge; ledRtime=millis();}
- if (ledrouge==1)
- {if ((millis()-oldtime[0])>delai[0]) // Base de temps pas luminosité
- {analogWrite(pinledR,lumled[0]);
- lumled[0]=lumled[0]+1;oldtime[0]=millis();}
- }
- else {analogWrite(pinledR,0);lumled[0]=0;}
- // chenillard leds blanches (luminosité progressive)
- if ((millis()-oldtime[nled])>delai[nled])
- {if (lumled[nled]<255){
- digitalWrite(numled[nled][1],0);
- analogWrite(numled[nled][0],lumled[nled]);
- lumled[nled]++;}
- else {
- lumled[nled]=0;
- analogWrite(numled[nled][0],0);
- digitalWrite(numled[nled][1],1);
- nled++;}
- if (nled==9){nled=1;}
- oldtime[nled]=millis();}
- }
Advertisement
Add Comment
Please, Sign In to add comment