Advertisement
nikolas77

feux tricolores

Dec 26th, 2020
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.40 KB | None | 0 0
  1. /*
  2. * Programme pour arduino uno
  3. * par C. Bézanger Octobre 2013
  4. * Licence GNU GPLv3
  5. *
  6. * Ce programme fait fonctionner des feux tricolores.
  7. * Six LED (vertes, oranges et rouge) sont reliées aux sorties 4 à 9
  8. * Les sorties 4 à 6 forment le feu A1
  9. * Les sorties 7 à 9 forment le feu B1
  10. */
  11.  
  12. // Initialisation des variables
  13. const byte A1V = 4 ;
  14. const byte A1O = 5 ;
  15. const byte A1R = 6 ;
  16. const byte B1V = 7 ;
  17. const byte B1O = 8 ;
  18. const byte B1R = 9 ;
  19.  
  20. //Délai des différents temps mis en const pour changer facilement
  21. // si le délai imparti ne vous satisfait pas. Il s'agit de millisecondes
  22. const long TempsAttenteFeuRougeSeul = 2000;
  23. const long TempsAttenteFeuVert = 30000;
  24. const long TempsAttenteFeuOrange = 5000;
  25.  
  26. // Initialisation des lignes 4 à 9 en sortie
  27. void setup () {
  28. pinMode (A1V, OUTPUT) ;
  29. pinMode (A1O, OUTPUT) ;
  30. pinMode (A1R, OUTPUT) ;
  31. pinMode (B1V, OUTPUT) ;
  32. pinMode (B1O, OUTPUT) ;
  33. pinMode (B1R, OUTPUT) ;
  34. }
  35.  
  36. // Fonction loop
  37. void loop () {
  38. // Extinction de toutes les LED au départ
  39. digitalWrite (A1V, LOW) ;
  40. digitalWrite (A1O, LOW) ;
  41. digitalWrite (A1R, LOW) ;
  42. digitalWrite (B1V, LOW) ;
  43. digitalWrite (B1O, LOW) ;
  44. digitalWrite (B1R, LOW) ;
  45.  
  46. // Allumage de A1V et B1R
  47. digitalWrite (A1V, HIGH) ;
  48. digitalWrite (B1R, HIGH) ;
  49.  
  50. // Début de cycle
  51.  
  52. // Concerne le feu A1
  53. delay (TempsAttenteFeuVert) ; // Feu vert A1V pendant 30 secondes
  54. digitalWrite (A1V, LOW) ; // Extinction de A1V
  55. digitalWrite (A1O, HIGH) ; // et allumage de A1O
  56. delay (TempsAttenteFeuOrange) ; //durée 5 secondes
  57. digitalWrite (A1O, LOW) ; // Extinction de A1O
  58. digitalWrite (A1R, HIGH) ; // et allumage de A1R
  59. delay (TempsAttenteFeuRougeSeul) ; // Temporisation du chauffard !
  60.  
  61. // Concerne l'autre feu B1
  62. digitalWrite (B1R, LOW) ; // Extinction de B1R
  63. digitalWrite (B1V, HIGH) ; // et allumage de B1V
  64. delay (TempsAttenteFeuVert) ; // Feu vert B1V pendant 30 secondes
  65. digitalWrite (B1V, LOW) ; // Extinction de B1V
  66. digitalWrite (B1O, HIGH) ; // et allumage de B1O
  67. delay (TempsAttenteFeuOrange) ; // durée 5 secondes
  68. digitalWrite (B1O, LOW) ; // Extinction de B1O
  69. digitalWrite (B1R, HIGH) ; // et allumage de B1R
  70. delay (TempsAttenteFeuRougeSeul) ; // Temporisation du chauffard !
  71. digitalWrite (A1V, HIGH) ; // On est revenu au point de départ
  72.  
  73. // Feu A1 vert et feu B1 rouge : le cycle peut recommencer
  74. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement