Advertisement
Guest User

Untitled

a guest
Sep 18th, 2019
127
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.17 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. }
  50.  
  51. //Opdater bluetooth inputtet hvis en bluetooth input er givet.
  52. void loop() {
  53. // put your main code here, to run repeatedly:
  54. while (bluetooth.available()>0){
  55. delay(10);
  56. char c = bluetooth.read();
  57. state += c;
  58. }
  59.  
  60. //Check om autodrive værdien er ændre og store det i en boolean værdi. Hvis ikke, fortsæt.
  61. if (state = "A1"){
  62. autoDriveCheck = true;
  63. }
  64. else if (state = "A0")
  65. autoDriveCheck = false;
  66.  
  67. if (autoDriveCheck = true)
  68. {
  69. //senscore
  70. midLeftVal = digitalRead(inputMidLeft);
  71. midRightVal = digitalRead(inputMidRight);
  72. farLeftVal = digitalRead(inputFarLeft);
  73. farRightVal = digitalRead(inputFarRight);
  74.  
  75. verdi = farLeftVal*1+midLeftVal*2+midRightVal*4+farRightVal*8;
  76.  
  77. switch (verdi) {
  78. case 15:
  79. //bak
  80. analogWrite (motor1A, 0);
  81. analogWrite (motor1B, 255);
  82. analogWrite (motor2A, 0);
  83. analogWrite (motor2B, 255);
  84. delay(0100);
  85. break;
  86. /*case 6:
  87. //Frem
  88. analogWrite (motor1A, 255);
  89. analogWrite (motor1B, 0);
  90. analogWrite (motor2A, 255);
  91. analogWrite (motor2B, 0);
  92. break;*/
  93. case 4:
  94. //meget skarpt right
  95. analogWrite (motor1A, 0);
  96. analogWrite (motor1B, 255);
  97. analogWrite (motor2A, 255);
  98. analogWrite (motor2B, 0);
  99. break;
  100. case 2:
  101. //meget skarpt left
  102. analogWrite (motor1A, 255);
  103. analogWrite (motor1B, 0);
  104. analogWrite (motor2A, 0);
  105. analogWrite (motor2B, 255);
  106. break;
  107. case 0:
  108. //Frem
  109. analogWrite (motor1A, 255);
  110. analogWrite (motor1B, 0);
  111. analogWrite (motor2A, 255);
  112. analogWrite (motor2B, 0);
  113. break;
  114. case 9:
  115. //Frem
  116. analogWrite (motor1A, 255);
  117. analogWrite (motor1B, 0);
  118. analogWrite (motor2A, 255);
  119. analogWrite (motor2B, 0);
  120. break;
  121. case 5:
  122. //frem
  123. analogWrite (motor1A, 255);
  124. analogWrite (motor1B, 0);
  125. analogWrite (motor2A, 255);
  126. analogWrite (motor2B, 0);
  127. break;
  128. case 10:
  129. //frem
  130. analogWrite (motor1A, 255);
  131. analogWrite (motor1B, 0);
  132. analogWrite (motor2A, 255);
  133. analogWrite (motor2B, 0);
  134. break;
  135. case 3:
  136. //Right
  137. analogWrite (motor1A, 255);
  138. analogWrite (motor1B, 0);
  139. analogWrite (motor2A, 190);
  140. analogWrite (motor2B, 0);
  141. break;
  142. case 11:
  143. //Right
  144. analogWrite (motor1A, 255);
  145. analogWrite (motor1B, 0);
  146. analogWrite (motor2A, 190);
  147. analogWrite (motor2B, 0);
  148. break;
  149. case 13:
  150. //Left
  151. analogWrite (motor1A, 190);
  152. analogWrite (motor1B, 0);
  153. analogWrite (motor2A, 255);
  154. analogWrite (motor2B, 0);
  155. break;
  156. case 12:
  157. //Left
  158. analogWrite (motor1A, 190);
  159. analogWrite (motor1B, 0);
  160. analogWrite (motor2A, 255);
  161. analogWrite (motor2B, 0);
  162. break;
  163. case 7:
  164. //Sharp Right
  165. analogWrite (motor1A, 255);
  166. analogWrite (motor1B, 0);
  167. analogWrite (motor2A, 0);
  168. analogWrite (motor2B, 0);
  169. break;
  170. case 1:
  171. //Sharp Right
  172. analogWrite (motor1A, 255);
  173. analogWrite (motor1B, 0);
  174. analogWrite (motor2A, 0);
  175. analogWrite (motor2B, 0);
  176. break;
  177. case 14:
  178. //Sharp Left
  179. analogWrite (motor1A, 0);
  180. analogWrite (motor1B, 0);
  181. analogWrite (motor2A, 255);
  182. analogWrite (motor2B, 0);
  183. break;
  184. case 8:
  185. //Sharp Left
  186. analogWrite (motor1A, 0);
  187. analogWrite (motor1B, 0);
  188. analogWrite (motor2A, 255);
  189. analogWrite (motor2B, 0);
  190. break;
  191. }
  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