Advertisement
Guest User

Untitled

a guest
Jul 14th, 2019
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #define aerei1 4   //aerei 1
  2. #define aerei2 5//aerei2
  3. #define rotonda 6//rotonda2sec
  4.  
  5. #define semaforo1 22
  6. #define semaforo2 23
  7. #define semaforo3 24
  8. #define semaforo4 25
  9. #define semaforo5 26                                                                                                                                                                    
  10.  
  11. #define curva0 30
  12. #define curva1 31
  13. #define curva2 32
  14. #define curva3 33
  15. #define curva4 34
  16.  
  17. #define curva5 35
  18. #define curva6 36
  19. #define curva7 37
  20. #define curva8 38
  21. #define curva9 39
  22. //int curva;
  23. //long last_change_curva=0;
  24. //int stato_semaforo=0;
  25. //long semaforo_change=0;
  26. //int semaforo;
  27. long lastChangeAerei=0;
  28. int curva;
  29. int eli;
  30. long lastChange=0;
  31. long last_change_curva=0;
  32. int statoSemaforo=0;
  33. bool lRed=0, lYel=1;
  34. void setup() {
  35.   // put your setup code here, to run once:
  36. pinMode (aerei1, OUTPUT);
  37. pinMode (aerei2, OUTPUT);
  38. pinMode (rotonda, OUTPUT);
  39.  
  40. pinMode (semaforo1, OUTPUT);
  41. pinMode (semaforo2, OUTPUT);
  42. pinMode (semaforo3, OUTPUT);
  43. pinMode (semaforo4, OUTPUT);
  44. pinMode (semaforo5, OUTPUT);
  45.  
  46. pinMode (curva0, OUTPUT);
  47. pinMode (curva1, OUTPUT);
  48. pinMode (curva2, OUTPUT);
  49. pinMode (curva3, OUTPUT);
  50. pinMode (curva4, OUTPUT);
  51.  
  52. pinMode (curva5, OUTPUT);
  53. pinMode (curva6, OUTPUT);
  54. pinMode (curva7, OUTPUT);
  55. pinMode (curva8, OUTPUT);
  56. pinMode (curva9, OUTPUT);
  57. Serial.begin(9600);
  58.  
  59. }
  60.  
  61. void loop() {
  62.   // put your main code here, to run repeatedly:
  63.  
  64.   if( millis()-lastChange>= 1000)
  65.   {
  66.     statoSemaforo++;
  67.     lastChange=millis();
  68.     if(statoSemaforo==6)
  69.       statoSemaforo=0;
  70.   }
  71.  
  72.  
  73. switch( statoSemaforo)
  74. {
  75. case 0:
  76.       digitalWrite(semaforo1, 1);
  77.       digitalWrite(semaforo2, 0);
  78.       digitalWrite(semaforo3, 0);
  79.       digitalWrite(semaforo4, 0);
  80.       digitalWrite(semaforo5, 0);
  81.       break;
  82. case 1:
  83.       digitalWrite(semaforo1, 1);
  84.       digitalWrite(semaforo2, 1);
  85.       digitalWrite(semaforo3, 0);
  86.       digitalWrite(semaforo4, 0);
  87.       digitalWrite(semaforo5, 0);
  88.       break;
  89. case 2:
  90.       digitalWrite(semaforo1, 1);
  91.       digitalWrite(semaforo2, 1);
  92.       digitalWrite(semaforo3, 1);
  93.       digitalWrite(semaforo4, 0);
  94.       digitalWrite(semaforo5, 0);
  95.       break;
  96. case 3:
  97.       digitalWrite(semaforo1, 1);
  98.       digitalWrite(semaforo2, 1);
  99.       digitalWrite(semaforo3, 1);
  100.       digitalWrite(semaforo4, 1);
  101.       digitalWrite(semaforo5, 0);
  102.       break;
  103. case 4:
  104.       digitalWrite(semaforo1, 1);
  105.       digitalWrite(semaforo2, 1);
  106.       digitalWrite(semaforo3, 1);
  107.       digitalWrite(semaforo4, 1);
  108.       digitalWrite(semaforo5, 1);
  109.       break;
  110. case 5:
  111.       digitalWrite(semaforo1, 0);
  112.       digitalWrite(semaforo2, 0);
  113.       digitalWrite(semaforo3, 0);
  114.       digitalWrite(semaforo4, 0);
  115.       digitalWrite(semaforo5, 0);
  116.       break;
  117.      
  118. }
  119.  
  120.  
  121.  if( millis()-last_change_curva>= 150)
  122.   {
  123.     curva++;
  124.     last_change_curva=millis();
  125.     if(last_change_curva==10)
  126.       last_change_curva=0;
  127.   }
  128. switch( curva)
  129. {
  130.   case 0:
  131.   digitalWrite(curva0, 1);
  132.   digitalWrite(curva1, 0);
  133.   digitalWrite(curva2, 0);
  134.   digitalWrite(curva3, 0);
  135.   digitalWrite(curva4, 0);
  136.   digitalWrite(curva5, 0);
  137.   digitalWrite(curva6, 0);
  138.   digitalWrite(curva7, 0);
  139.   digitalWrite(curva8, 0);
  140.   digitalWrite(curva9, 0);
  141.   break;
  142.  
  143.   case 1:
  144.   digitalWrite(curva0, 0);
  145.   digitalWrite(curva1, 1);
  146.   digitalWrite(curva2, 0);
  147.   digitalWrite(curva3, 0);
  148.   digitalWrite(curva4, 0);
  149.   digitalWrite(curva5, 0);
  150.   digitalWrite(curva6, 0);
  151.   digitalWrite(curva7, 0);
  152.   digitalWrite(curva8, 0);
  153.   digitalWrite(curva9, 0);
  154.   break;
  155.  
  156.   case 2:
  157.   digitalWrite(curva0, 0);
  158.   digitalWrite(curva1, 0);
  159.   digitalWrite(curva2, 1);
  160.   digitalWrite(curva3, 0);
  161.   digitalWrite(curva4, 0);
  162.   digitalWrite(curva5, 0);
  163.   digitalWrite(curva6, 0);
  164.   digitalWrite(curva7, 0);
  165.   digitalWrite(curva8, 0);
  166.   digitalWrite(curva9, 0);
  167.   break;
  168.  
  169.   case 3:
  170.   digitalWrite(curva0, 0);
  171.   digitalWrite(curva1, 0);
  172.   digitalWrite(curva2, 0);
  173.   digitalWrite(curva3, 1);
  174.   digitalWrite(curva4, 0);
  175.   digitalWrite(curva5, 0);
  176.   digitalWrite(curva6, 0);
  177.   digitalWrite(curva7, 0);
  178.   digitalWrite(curva8, 0);
  179.   digitalWrite(curva9, 0);
  180.   break;
  181.  
  182.   case 4:
  183.   digitalWrite(curva0, 0);
  184.   digitalWrite(curva1, 0);
  185.   digitalWrite(curva2, 0);
  186.   digitalWrite(curva3, 0);
  187.   digitalWrite(curva4, 1);
  188.   digitalWrite(curva5, 0);
  189.   digitalWrite(curva6, 0);
  190.   digitalWrite(curva7, 0);
  191.   digitalWrite(curva8, 0);
  192.   digitalWrite(curva9, 0);
  193.   break;
  194.  
  195.   case 5:
  196.   digitalWrite(curva0, 0);
  197.   digitalWrite(curva1, 0);
  198.   digitalWrite(curva2, 0);
  199.   digitalWrite(curva3, 0);
  200.   digitalWrite(curva4, 0);
  201.   digitalWrite(curva5, 1);
  202.   digitalWrite(curva6, 0);
  203.   digitalWrite(curva7, 0);
  204.   digitalWrite(curva8, 0);
  205.   digitalWrite(curva9, 0);
  206.   break;
  207.  
  208.   case 6:
  209.   digitalWrite(curva0, 0);
  210.   digitalWrite(curva1, 0);
  211.   digitalWrite(curva2, 0);
  212.   digitalWrite(curva3, 0);
  213.   digitalWrite(curva4, 0);
  214.   digitalWrite(curva5, 0);
  215.   digitalWrite(curva6, 1);
  216.   digitalWrite(curva7, 0);
  217.   digitalWrite(curva8, 0);
  218.   digitalWrite(curva9, 0);
  219.   break;
  220.  
  221.   case 7:
  222.   digitalWrite(curva0, 0);
  223.   digitalWrite(curva1, 0);
  224.   digitalWrite(curva2, 0);
  225.   digitalWrite(curva3, 0);
  226.   digitalWrite(curva4, 0);
  227.   digitalWrite(curva5, 0);
  228.   digitalWrite(curva6, 0);
  229.   digitalWrite(curva7, 1);
  230.   digitalWrite(curva8, 0);
  231.   digitalWrite(curva9, 0);
  232.   break;
  233.  
  234.   case 8:
  235.   digitalWrite(curva0, 0);
  236.   digitalWrite(curva1, 0);
  237.   digitalWrite(curva2, 0);
  238.   digitalWrite(curva3, 0);
  239.   digitalWrite(curva4, 0);
  240.   digitalWrite(curva5, 0);
  241.   digitalWrite(curva6, 0);
  242.   digitalWrite(curva7, 0);
  243.   digitalWrite(curva8, 1);
  244.   digitalWrite(curva9, 0);
  245.   break;
  246.  
  247.   case 9:
  248.   digitalWrite(curva0, 0);
  249.   digitalWrite(curva1, 0);
  250.   digitalWrite(curva2, 0);
  251.   digitalWrite(curva3, 0);
  252.   digitalWrite(curva4, 0);
  253.   digitalWrite(curva5, 0);
  254.   digitalWrite(curva6, 0);
  255.   digitalWrite(curva7, 0);
  256.   digitalWrite(curva8, 0);
  257.   digitalWrite(curva9, 1);
  258.   break;
  259. }
  260.  
  261.   if( millis()-lastChangeAerei>1000)
  262.   {
  263.     lRed=!lRed;
  264.     lYel=!lYel;
  265.     digitalWrite(aerei1, lRed);
  266.     digitalWrite(aerei2, lYel);    
  267.     lastChangeAerei=millis();
  268.   }
  269. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement