Advertisement
Guest User

Untitled

a guest
Jan 16th, 2018
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.86 KB | None | 0 0
  1. // sygnalizacja swietlna
  2. int carRed = 12;
  3. int carYellow = 11;
  4. int carGreen = 10;
  5. int pedRed = 9;
  6. int pedGreen = 8;
  7. int button = 2;
  8. int crossTime = 5000;
  9. unsigned long changeTime;
  10. int trigPin = 5;
  11. int echoPin = 6;
  12.  
  13. void setup() {
  14.  
  15. pinMode(carRed, OUTPUT);
  16. pinMode(carYellow, OUTPUT);
  17. pinMode(carGreen, OUTPUT);
  18. pinMode(pedRed, OUTPUT);
  19. pinMode(pedGreen, OUTPUT);
  20. pinMode(button, OUTPUT);
  21. digitalWrite(carGreen, HIGH);
  22. digitalWrite(pedRed, HIGH);
  23. pinMode(A5, OUTPUT);
  24.  
  25. Serial.begin (9600);
  26. pinMode(trigPin, OUTPUT);
  27. pinMode(echoPin, INPUT);
  28.  
  29. }
  30.  
  31. void loop ()
  32. {
  33.  
  34. int state = digitalRead(button);
  35. if( state == HIGH && (millis() - changeTime) > 300)
  36. {
  37. changeLight();
  38. }
  39.  
  40. long czas, dystans;
  41.  
  42. digitalWrite(trigPin, LOW);
  43. delayMicroseconds(2);
  44. digitalWrite(trigPin, HIGH);
  45. delayMicroseconds(10);
  46. digitalWrite(trigPin, LOW);
  47.  
  48. czas = pulseIn(echoPin, HIGH);
  49. dystans = czas / 58;
  50.  
  51. if( dystans >= 2 && dystans <= 20)
  52. {
  53. changeLight();
  54. }
  55.  
  56. }
  57.  
  58.  
  59. void changeLight()
  60. {
  61. digitalWrite(carGreen, LOW);
  62. digitalWrite(carYellow, HIGH);
  63. delay(2000);
  64.  
  65. digitalWrite(carYellow, LOW);
  66. digitalWrite(carRed, HIGH);
  67. delay(3000);
  68.  
  69. digitalWrite(pedRed, LOW);
  70. digitalWrite(pedGreen, HIGH);
  71.  
  72.  
  73. for( int x=0 ; x<18 ; x++)
  74. {
  75. digitalWrite(A5, HIGH);
  76. delay(150);
  77. digitalWrite(A5, LOW);
  78. delay(150);
  79. }
  80.  
  81.  
  82. for( int x=0 ; x<15 ; x++)
  83. {
  84. digitalWrite(pedGreen, HIGH);
  85. digitalWrite(A5, HIGH);
  86. delay(110);
  87. digitalWrite(pedGreen, LOW);
  88. digitalWrite(A5, LOW);
  89. delay(110);
  90. }
  91.  
  92. digitalWrite(pedRed, HIGH);
  93. delay(1500);
  94.  
  95. digitalWrite(carYellow, HIGH);
  96. digitalWrite(carRed, LOW);
  97. delay(1000);
  98. digitalWrite(carGreen, HIGH);
  99. digitalWrite(carYellow, LOW);
  100.  
  101. changeTime = millis();
  102.  
  103. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement