Advertisement
Guest User

Arduino scuola

a guest
Jan 29th, 2020
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.00 KB | None | 0 0
  1. #include <Servo.h>
  2. Servo myservo;
  3.  
  4. int OutButtonState = 1;
  5. int LastOutButtonState = 1;
  6.  
  7. int crossingtime = 2000;
  8. int ButtonState = 1;
  9. int STATE = 0;
  10. int InButtonstate = 1;
  11. int lastInButtonState = 1;
  12.  
  13.  
  14.  
  15. float time = 0;
  16. float time_old = 0;
  17. float delta_time = 0;
  18.  
  19.  
  20.  
  21. int pos = 0;
  22. int pushButtonIn = 2;
  23. int pushButtonOut = 3;
  24. int Lightgreen = 4;
  25. int LightRed = 5;
  26. int Buzzer = 6;
  27.  
  28.  
  29. void setup()
  30. {
  31. myservo.attach(10);
  32. Serial.begin(9600);
  33. pinMode(pushButtonIn, INPUT);
  34. pinMode(pushButtonOut, INPUT);
  35. pinMode(Lightgreen, OUTPUT);
  36. pinMode(LightRed, OUTPUT);
  37. pinMode(Buzzer, OUTPUT);
  38. myservo.write(pos);
  39.  
  40. }
  41.  
  42. void loop()
  43. {
  44. switch (STATE)
  45.  
  46. {
  47. case 0:
  48. Serial.println("STATE0");
  49. digitalWrite(Buzzer, LOW);
  50. digitalWrite(LightRed, HIGH);
  51. break;
  52.  
  53. case 1:
  54. Serial.println("STATE1");
  55. digitalWrite(Buzzer, HIGH);
  56. for (pos = 0; pos <=90; pos += 1)
  57. {
  58. myservo.write(pos);
  59. delay(100);
  60. }
  61. STATE = 2;
  62. break;
  63.  
  64. case 2:
  65. Serial.println("STATE2");
  66. digitalWrite(LightRed, LOW);
  67. digitalWrite(Lightgreen, HIGH);
  68. digitalWrite(Buzzer, LOW);
  69. delay(crossingtime);
  70. break;
  71.  
  72. case 3:
  73. Serial.println("STATE3");
  74. digitalWrite(Buzzer, HIGH);
  75. digitalWrite(LightRed, HIGH);
  76. digitalWrite(Lightgreen, LOW);
  77. for (pos = 90; pos >= 0; pos -= 1)
  78. {
  79. myservo.write(pos);
  80. delay(100);
  81. }
  82. STATE = 0;
  83. break;
  84.  
  85. default:
  86.  
  87. break;
  88.  
  89. }
  90.  
  91.  
  92. InButtonstate = digitalRead(pushButtonIn);
  93. if (InButtonstate != lastInButtonState)
  94. {
  95.  
  96. if (InButtonstate == LOW)
  97. {
  98. if (STATE == 0)
  99. {
  100. STATE = 1;
  101. }
  102. }
  103. }
  104. lastInButtonState = InButtonstate;
  105.  
  106. OutButtonState = digitalRead(pushButtonOut);
  107. if (OutButtonState != LastOutButtonState)
  108. {
  109. if (OutButtonState == LOW)
  110. {
  111. if (STATE == 2)
  112. {
  113. STATE == 3;
  114. }
  115. }
  116. }
  117. LastOutButtonState = OutButtonState;
  118.  
  119.  
  120.  
  121.  
  122. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement