Advertisement
Guest User

Untitled

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