Advertisement
Guest User

Untitled

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