Advertisement
Guest User

Untitled

a guest
Sep 18th, 2019
175
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.19 KB | None | 0 0
  1. #include <SoftwareSerial.h>
  2. bool autoDriveCheck = false;
  3.  
  4. const int inputMidLeft = 12;
  5. const int inputMidRight = 8;
  6. const int inputFarLeft = 13;
  7. const int inputFarRight = 7;
  8.  
  9. bool midLeftVal;
  10. bool midRightVal;
  11. bool farLeftVal;
  12. bool farRightVal;
  13.  
  14.  
  15. //definations af motorenes pins
  16. const int motor1A = 11;
  17. const int motor1B = 10;
  18. const int motor2A = 6;
  19. const int motor2B = 5;
  20. const int Gun = 4;
  21.  
  22. int BluetoothTX = 0;
  23. int BluetoothRX = 1;
  24.  
  25. SoftwareSerial bluetooth(BluetoothTX, BluetoothRX);
  26.  
  27. String state;
  28.  
  29. int verdi = 0;
  30.  
  31. void setup() {
  32. // put your setup code here, to run once:
  33.  
  34. pinMode(motor1A, OUTPUT);
  35. pinMode(motor1B, OUTPUT);
  36. pinMode(motor2A, OUTPUT);
  37. pinMode(motor2B, OUTPUT);
  38.  
  39. //senscore
  40. pinMode(inputMidLeft, INPUT);
  41. pinMode(inputMidRight, INPUT);
  42. pinMode(inputFarLeft, INPUT);
  43. pinMode(inputFarRight, INPUT);
  44. pinMode(Gun, OUTPUT);
  45.  
  46. bluetooth.begin(115200);
  47. Serial.begin(115200);
  48.  
  49. autoDriveCheck = false;
  50. }
  51.  
  52. //Opdater bluetooth inputtet hvis en bluetooth input er givet.
  53. void loop() {
  54. // put your main code here, to run repeatedly:
  55. while (bluetooth.available()>0){
  56. delay(10);
  57. char c = bluetooth.read();
  58. state += c;
  59. }
  60.  
  61. //Check om autodrive værdien er ændre og store det i en boolean værdi. Hvis ikke, fortsæt.
  62. if (state = "A1"){
  63. autoDriveCheck = true;
  64. }
  65. else if (state = "A0")
  66. autoDriveCheck = false;
  67.  
  68. if (autoDriveCheck = true)
  69. {
  70. //senscore
  71. midLeftVal = digitalRead(inputMidLeft);
  72. midRightVal = digitalRead(inputMidRight);
  73. farLeftVal = digitalRead(inputFarLeft);
  74. farRightVal = digitalRead(inputFarRight);
  75.  
  76. verdi = farLeftVal*1+midLeftVal*2+midRightVal*4+farRightVal*8;
  77.  
  78. switch (verdi) {
  79. case 15:
  80. //bak
  81. analogWrite (motor1A, 0);
  82. analogWrite (motor1B, 255);
  83. analogWrite (motor2A, 0);
  84. analogWrite (motor2B, 255);
  85. delay(0100);
  86. break;
  87. /*case 6:
  88. //Frem
  89. analogWrite (motor1A, 255);
  90. analogWrite (motor1B, 0);
  91. analogWrite (motor2A, 255);
  92. analogWrite (motor2B, 0);
  93. break;*/
  94. case 4:
  95. //meget skarpt right
  96. analogWrite (motor1A, 0);
  97. analogWrite (motor1B, 255);
  98. analogWrite (motor2A, 255);
  99. analogWrite (motor2B, 0);
  100. break;
  101. case 2:
  102. //meget skarpt left
  103. analogWrite (motor1A, 255);
  104. analogWrite (motor1B, 0);
  105. analogWrite (motor2A, 0);
  106. analogWrite (motor2B, 255);
  107. break;
  108. case 0:
  109. //Frem
  110. analogWrite (motor1A, 255);
  111. analogWrite (motor1B, 0);
  112. analogWrite (motor2A, 255);
  113. analogWrite (motor2B, 0);
  114. break;
  115. case 9:
  116. //Frem
  117. analogWrite (motor1A, 255);
  118. analogWrite (motor1B, 0);
  119. analogWrite (motor2A, 255);
  120. analogWrite (motor2B, 0);
  121. break;
  122. case 5:
  123. //frem
  124. analogWrite (motor1A, 255);
  125. analogWrite (motor1B, 0);
  126. analogWrite (motor2A, 255);
  127. analogWrite (motor2B, 0);
  128. break;
  129. case 10:
  130. //frem
  131. analogWrite (motor1A, 255);
  132. analogWrite (motor1B, 0);
  133. analogWrite (motor2A, 255);
  134. analogWrite (motor2B, 0);
  135. break;
  136. case 3:
  137. //Right
  138. analogWrite (motor1A, 255);
  139. analogWrite (motor1B, 0);
  140. analogWrite (motor2A, 190);
  141. analogWrite (motor2B, 0);
  142. break;
  143. case 11:
  144. //Right
  145. analogWrite (motor1A, 255);
  146. analogWrite (motor1B, 0);
  147. analogWrite (motor2A, 190);
  148. analogWrite (motor2B, 0);
  149. break;
  150. case 13:
  151. //Left
  152. analogWrite (motor1A, 190);
  153. analogWrite (motor1B, 0);
  154. analogWrite (motor2A, 255);
  155. analogWrite (motor2B, 0);
  156. break;
  157. case 12:
  158. //Left
  159. analogWrite (motor1A, 190);
  160. analogWrite (motor1B, 0);
  161. analogWrite (motor2A, 255);
  162. analogWrite (motor2B, 0);
  163. break;
  164. case 7:
  165. //Sharp Right
  166. analogWrite (motor1A, 255);
  167. analogWrite (motor1B, 0);
  168. analogWrite (motor2A, 0);
  169. analogWrite (motor2B, 0);
  170. break;
  171. case 1:
  172. //Sharp Right
  173. analogWrite (motor1A, 255);
  174. analogWrite (motor1B, 0);
  175. analogWrite (motor2A, 0);
  176. analogWrite (motor2B, 0);
  177. break;
  178. case 14:
  179. //Sharp Left
  180. analogWrite (motor1A, 0);
  181. analogWrite (motor1B, 0);
  182. analogWrite (motor2A, 255);
  183. analogWrite (motor2B, 0);
  184. break;
  185. case 8:
  186. //Sharp Left
  187. analogWrite (motor1A, 0);
  188. analogWrite (motor1B, 0);
  189. analogWrite (motor2A, 255);
  190. analogWrite (motor2B, 0);
  191. break;
  192. }}
  193. else {
  194. if (state.length() > 0) {
  195. Serial.println(state );
  196.  
  197. if(state == "a")
  198. {
  199. analogWrite (motor1A, 255);
  200. analogWrite (motor1B, 0);
  201. analogWrite (motor2A, 255);
  202. analogWrite (motor2B, 0);
  203. }
  204. else if(state == "b")
  205. {
  206. analogWrite (motor1A, 0);
  207. analogWrite (motor1B, 0);
  208. analogWrite (motor2A, 0);
  209. analogWrite (motor2B, 0);
  210. }
  211.  
  212. if(state == "c")
  213. {
  214. analogWrite (motor1A, 0);
  215. analogWrite (motor1B, 0);
  216. analogWrite (motor2A, 255);
  217. analogWrite (motor2B, 0);
  218. }
  219. else if(state == "d")
  220. {
  221. analogWrite (motor1A, 0);
  222. analogWrite (motor1B, 0);
  223. analogWrite (motor2A, 0);
  224. analogWrite (motor2B, 0);
  225. }
  226.  
  227. if(state == "e")
  228. {
  229. analogWrite (motor1A, 255);
  230. analogWrite (motor1B, 0);
  231. analogWrite (motor2A, 0);
  232. analogWrite (motor2B, 0);
  233. }
  234. else if(state == "f")
  235. {
  236. analogWrite (motor1A, 0);
  237. analogWrite (motor1B, 0);
  238. analogWrite (motor2A, 0);
  239. analogWrite (motor2B, 0);
  240. }
  241.  
  242. if(state == "g")
  243. {
  244. analogWrite (motor1A, 0);
  245. analogWrite (motor1B, 255);
  246. analogWrite (motor2A, 0);
  247. analogWrite (motor2B, 255);
  248. }
  249. else if(state == "h")
  250. {
  251. analogWrite (motor1A, 0);
  252. analogWrite (motor1B, 0);
  253. analogWrite (motor2A, 0);
  254. analogWrite (motor2B, 0);
  255. }
  256.  
  257. if(state == "q")
  258. {
  259. analogWrite (Gun, 255);
  260. }
  261. else if(state == "r")
  262. {
  263. analogWrite (Gun, 0);
  264. }
  265.  
  266. state ="";}
  267. }
  268. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement