Advertisement
Guest User

Untitled

a guest
Oct 16th, 2019
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.42 KB | None | 0 0
  1.  
  2. int Pin1 = 1; //pins motore 1
  3. int Pin2 = 2;
  4. int Pin3 = 3;
  5. int Pin4 = 4;
  6.  
  7. int Pin5 = 5; //pins motore 2
  8. int Pin6 = 6;
  9. int Pin7 = 7;
  10. int Pin8 = 8;
  11.  
  12. int pausa = 1000;
  13.  
  14. const int STATE = 13;
  15.  
  16. void setup() {
  17. pinMode(A5, INPUT_PULLUP); //pins pulsanti da Sinistra a Destra
  18. pinMode(A4, INPUT_PULLUP);
  19. pinMode(A3, INPUT_PULLUP);
  20. pinMode(A2, INPUT_PULLUP);
  21.  
  22. pinMode(9, OUTPUT);
  23. pinMode(10, OUTPUT);
  24. pinMode(11, OUTPUT);
  25. pinMode(12, OUTPUT);
  26.  
  27. digitalWrite(9, LOW);
  28. digitalWrite(10, LOW);
  29. digitalWrite(11, LOW);
  30. digitalWrite(12, LOW);
  31.  
  32. pinMode(1, OUTPUT);
  33. pinMode(2, OUTPUT);
  34. pinMode(3, OUTPUT);
  35. pinMode(4, OUTPUT);
  36.  
  37. pinMode(5, OUTPUT);
  38. pinMode(6, OUTPUT);
  39. pinMode(7, OUTPUT);
  40. pinMode(8, OUTPUT);
  41.  
  42. pinMode(13, INPUT);
  43.  
  44. Serial.begin(9600);
  45. }
  46.  
  47. void loop() {
  48. if (analogRead(A5) > 500 ) {
  49. digitalWrite(12, HIGH);
  50. }
  51. else {
  52. digitalWrite(12, LOW);
  53. }
  54.  
  55. if (analogRead(A4) > 500 ) {
  56. digitalWrite(11, HIGH);
  57. }
  58. else {
  59. digitalWrite(11, LOW);
  60. }
  61.  
  62. if (analogRead(A3) > 500 ) {
  63. digitalWrite(10, HIGH);
  64. }
  65. else {
  66. digitalWrite(10, LOW);
  67. }
  68.  
  69. if (analogRead(A2) > 500 ) {
  70. digitalWrite(9, HIGH);
  71. }
  72. else {
  73. digitalWrite(9, LOW);
  74. }
  75.  
  76.  
  77. //MOTORE SINISTRO
  78.  
  79. if ((analogRead(A5) > 500 ) && (analogRead(A4) < 100)) //muovi i motori solo se i pulsanti sono prenuti singolarmente
  80. {
  81. muovi_orario_2();
  82. }
  83.  
  84. if ((analogRead(A4) > 500 ) && (analogRead(A5) < 100))
  85. {
  86. muovi_antiorario_2();
  87. }
  88.  
  89. //----------------------------------------------------------------------------------------------
  90.  
  91. //MOTORE DESTRO
  92.  
  93. if ((analogRead(A3) > 500 ) && (analogRead(A2) < 100)) //muovi i motori solo se i pulsanti sono prenuti singolarmente
  94. {
  95. for (int i = 1; i < 200; i++)
  96. {
  97. muovi_orario_1();
  98. }
  99. }
  100.  
  101. if ((analogRead(A2) > 500 ) && (analogRead(A3) < 100))
  102. {
  103. for (int i = 1; i < 200; i++)
  104. {
  105. muovi_antiorario_1();
  106. }
  107. }
  108.  
  109. //----------------------------------------------------------------------------------------------
  110.  
  111. //CONDIZIONE DI VITTORIA O SCONFITTA
  112. Serial.println(digitalRead(STATE));
  113. if (digitalRead(STATE) == 0) //sensore di vittoria
  114. {
  115. digitalWrite (9, HIGH);
  116. digitalWrite (10, HIGH);
  117. digitalWrite (11, HIGH);
  118. digitalWrite (12, HIGH);
  119. delay(2000);
  120. digitalWrite (9, LOW);
  121. digitalWrite (10, LOW);
  122. digitalWrite (11, LOW);
  123. digitalWrite (12, LOW);
  124. }
  125. }
  126.  
  127. void muovi_orario_1()
  128. {
  129. digitalWrite(Pin1, LOW);
  130. delayMicroseconds(pausa);
  131. digitalWrite(Pin3, HIGH);
  132. delayMicroseconds(pausa);
  133. digitalWrite(Pin4, LOW);
  134. delayMicroseconds(pausa);
  135. digitalWrite(Pin2, HIGH);
  136. delayMicroseconds(pausa);
  137. digitalWrite(Pin3, LOW);
  138. delayMicroseconds(pausa);
  139. digitalWrite(Pin1, HIGH);
  140. delayMicroseconds(pausa);
  141. digitalWrite(Pin2, LOW);
  142. delayMicroseconds(pausa);
  143. digitalWrite(Pin4, HIGH);
  144. delayMicroseconds(pausa);
  145. }
  146.  
  147.  
  148. void muovi_antiorario_1()
  149. {
  150. digitalWrite(Pin4, LOW);
  151. delayMicroseconds(pausa);
  152. digitalWrite(Pin2, HIGH);
  153. delayMicroseconds(pausa);
  154. digitalWrite(Pin1, LOW);
  155. delayMicroseconds(pausa);
  156. digitalWrite(Pin3, HIGH);
  157. delayMicroseconds(pausa);
  158. digitalWrite(Pin2, LOW);
  159. delayMicroseconds(pausa);
  160. digitalWrite(Pin4, HIGH);
  161. delayMicroseconds(pausa);
  162. digitalWrite(Pin3, LOW);
  163. delayMicroseconds(pausa);
  164. digitalWrite(Pin1, HIGH);
  165. delayMicroseconds(pausa);
  166. }
  167.  
  168. void muovi_orario_2()
  169. {
  170. digitalWrite(Pin5, LOW);
  171. delayMicroseconds(pausa);
  172. digitalWrite(Pin7, HIGH);
  173. delayMicroseconds(pausa);
  174. digitalWrite(Pin8, LOW);
  175. delayMicroseconds(pausa);
  176. digitalWrite(Pin6, HIGH);
  177. delayMicroseconds(pausa);
  178. digitalWrite(Pin7, LOW);
  179. delayMicroseconds(pausa);
  180. digitalWrite(Pin5, HIGH);
  181. delayMicroseconds(pausa);
  182. digitalWrite(Pin6, LOW);
  183. delayMicroseconds(pausa);
  184. digitalWrite(Pin8, HIGH);
  185. delayMicroseconds(pausa);
  186. }
  187.  
  188. void muovi_antiorario_2()
  189. {
  190. digitalWrite(Pin8, LOW);
  191. delayMicroseconds(pausa);
  192. digitalWrite(Pin6, HIGH);
  193. delayMicroseconds(pausa);
  194. digitalWrite(Pin5, LOW);
  195. delayMicroseconds(pausa);
  196. digitalWrite(Pin7, HIGH);
  197. delayMicroseconds(pausa);
  198. digitalWrite(Pin6, LOW);
  199. delayMicroseconds(pausa);
  200. digitalWrite(Pin8, HIGH);
  201. delayMicroseconds(pausa);
  202. digitalWrite(Pin7, LOW);
  203. delayMicroseconds(pausa);
  204. digitalWrite(Pin5, HIGH);
  205. delayMicroseconds(pausa);
  206. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement