Advertisement
NapsterMP3

Semaforo Alex Sandro

Jun 27th, 2016
244
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.04 KB | None | 0 0
  1. #define LED_VD 2
  2. #define LED_AM 3
  3. #define LED_VM 4
  4. #define PED_VD 5
  5. #define PED_VM 6
  6. #define botao 7
  7.  
  8.  
  9. unsigned long delai = 5L * 1000L;
  10. unsigned long delai2 = 10L * 1000L;
  11. unsigned long comparativo=0;
  12. unsigned long tempo=0;
  13. int semaforo =0;
  14.  
  15. boolean pedestre = 0;
  16. boolean pedestre2 = 0;
  17. boolean carro = 1;
  18.  
  19. void setup() {
  20.  
  21. pinMode(LED_VM, OUTPUT);
  22. pinMode(LED_AM, OUTPUT);
  23. pinMode(LED_VD, OUTPUT);
  24. pinMode(PED_VD, OUTPUT);
  25. pinMode(PED_VM, OUTPUT);
  26. pinMode(botao, INPUT);
  27. digitalWrite(botao,HIGH);
  28.  
  29. }
  30. void loop() {
  31. tempo=millis();
  32. if (digitalRead(botao)==LOW )
  33. {
  34. delay(200);
  35. pedestre=1;
  36. }
  37.  
  38.  
  39.  
  40.  
  41. if (carro==1)
  42. {
  43. if (semaforo==0){
  44. digitalWrite(PED_VD, LOW);
  45. digitalWrite(LED_VM, LOW);
  46. digitalWrite(PED_VM, HIGH);
  47. digitalWrite(LED_VD, HIGH);
  48. semaforo=1;
  49. }
  50.  
  51.  
  52. if (tempo - comparativo > delai & semaforo == 1){/////5 segundos
  53. digitalWrite(LED_VD, LOW);
  54. digitalWrite(LED_AM, HIGH);
  55. comparativo=tempo;
  56. semaforo=2;
  57. }
  58.  
  59. if (tempo - comparativo > delai & semaforo==2){/////10 segundos
  60. digitalWrite(LED_AM, LOW);
  61. digitalWrite(LED_VM, HIGH);
  62. comparativo=tempo;
  63. semaforo=3;
  64. if (pedestre==1)
  65. {
  66. digitalWrite(PED_VM, LOW);
  67. digitalWrite(PED_VD, HIGH);
  68. digitalWrite(LED_VM, HIGH);
  69. pedestre2=1;
  70. carro=0;
  71. }
  72. }
  73.  
  74. if (tempo - comparativo > delai & semaforo==3){ /////15 segundos
  75. digitalWrite(LED_VM, LOW);
  76. comparativo=tempo;
  77. semaforo=0;
  78. }
  79.  
  80.  
  81. }
  82.  
  83.  
  84.  
  85.  
  86.  
  87. if (tempo - comparativo > delai2 & pedestre==1 & pedestre2==1) {
  88. digitalWrite(PED_VM, HIGH);
  89. digitalWrite(PED_VD, LOW);
  90. digitalWrite(LED_VM, LOW);
  91. carro=1;
  92. pedestre2=0;
  93. pedestre=0;
  94. }
  95.  
  96.  
  97. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement