mich29800

phare

Jul 29th, 2021
866
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  
  2. #define pinledR 9 // pinsortie led rouge en 9
  3. byte pinledB[]={2,3 ,4,5,6,7}; //pins sorties leds blanches
  4. unsigned long ledRtime; // base de tesmps led Rouge
  5. unsigned long oldtime[10]; // tableau pour bases de temps leds blanches
  6. int delai[10];  // tableau durée pas de luminosité leds
  7. uint8_t lumled[10];  // tableau luminosuté leds
  8. uint8_t numled[][2]={ // correspondance n° pin sortie PWM
  9. {0,0},                // avec n° des pins leds blanches
  10. {5,2},
  11. {5,3},
  12. {5,4},
  13. {5,7},
  14. {6,2},
  15. {6,3},
  16. {6,4},
  17. {6,7},};
  18.  
  19. uint8_t nled=1;
  20. byte ledrouge =0; //état led rouge (éteint/allumé)
  21. int clignoteR =500; // 1/2 fréquence clignotement led rouge
  22.  
  23.  
  24. void setup() {
  25. pinMode(pinledR,OUTPUT);    // aafectation en Sortie
  26. for (byte i=0;i<6;i++)
  27. {pinMode(pinledB[i],OUTPUT);}
  28. for (byte i=1;i<5;i++)
  29. {digitalWrite(numled[i][1],OUTPUT);} // sorties ledsB à 1
  30. oldtime[0]=0;
  31. for (byte i=0;i<9;i++)
  32. {oldtime[i]=0;lumled[i]=0;}
  33. delai[0]=2; //delai pas luminosité led rouge
  34. delai[1]=2; //delai pas luminosité led blanche 1
  35. delai[2]=2; //delai pas luminosité led blanche 2
  36. delai[3]=2; //delai pas luminosité led blanche 3
  37. delai[4]=2; //delai pas luminosité led blanche 4
  38. delai[5]=2; //delai pas luminosité led blanche 5
  39. delai[6]=2; //delai pas luminosité led blanche 6
  40. delai[7]=2; //delai pas luminosité led blanche 7
  41. delai[8]=2; //delai pas luminosité led blanche 8
  42. }
  43.  
  44.  void loop() {
  45.  
  46.   // clignotement led rouge (luminosité progressive)
  47.   if ((millis()-ledRtime)>clignoteR)          // Base de temps clignoteR à 500 ms
  48.   {ledrouge=!ledrouge; ledRtime=millis();}    
  49.   if (ledrouge==1)
  50.   {if ((millis()-oldtime[0])>delai[0])        // Base de temps pas luminosité
  51.    {analogWrite(pinledR,lumled[0]);
  52.     lumled[0]=lumled[0]+1;oldtime[0]=millis();}
  53.   }  
  54.    else {analogWrite(pinledR,0);lumled[0]=0;}
  55.  
  56.    
  57.   // chenillard leds blanches (luminosité progressive)
  58.     if ((millis()-oldtime[nled])>delai[nled])
  59.     {if (lumled[nled]<255){
  60.       digitalWrite(numled[nled][1],0);
  61.       analogWrite(numled[nled][0],lumled[nled]);
  62.       lumled[nled]++;}
  63.     else {
  64.       lumled[nled]=0;
  65.       analogWrite(numled[nled][0],0);
  66.       digitalWrite(numled[nled][1],1);
  67.       nled++;}
  68.    if (nled==9){nled=1;}
  69.    oldtime[nled]=millis();}
  70. }
RAW Paste Data