Advertisement
Guest User

123

a guest
Mar 6th, 2015
195
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.07 KB | None | 0 0
  1. #include <ShiftLCD.h>
  2.  
  3. #include <AFMotor.h>
  4. #include <AFMotor.h>
  5. #define trigPin 12
  6. #define echoPin 11
  7. AF_DCMotor motorRight(4);
  8. AF_DCMotor motorLeft(3);
  9. #include <ShiftLCD.h>
  10. ShiftLCD lcd(2, 4, 3);
  11.  
  12. char dataIn = 'S';
  13. char determinant;
  14. char det;
  15. int vel = 0;
  16. int frontLight = 13;
  17. int horn = 7;
  18. void setup() {
  19. lcd.begin(16, 2);
  20. Serial.begin(9600);
  21. pinMode(frontLight, OUTPUT);
  22. pinMode(horn, OUTPUT);
  23.  
  24. lcd.print("Robot Arduino");
  25. pinMode(trigPin, OUTPUT);
  26. pinMode(echoPin, INPUT);
  27. motorRight.setSpeed(255);
  28. motorLeft.setSpeed (255);
  29.  
  30. motorRight.setSpeed(255);
  31. motorLeft.setSpeed(255);
  32. motorRight.run(RELEASE);
  33. motorLeft.run(RELEASE);
  34. digitalWrite(frontLight, LOW);
  35. noTone(horn);
  36. }
  37. void loop() {
  38.  
  39. det = check();
  40.  
  41.  
  42. switch (det){
  43.  
  44. case 'F':
  45. lcd.begin(16, 2);
  46. lcd.clear();
  47. lcd.setCursor(0,0);
  48. lcd.print("GO Forward");
  49. delay(100);
  50. motorRight.setSpeed(255);
  51. motorLeft.setSpeed(255);
  52. motorRight.run(BACKWARD);
  53. motorLeft.run(BACKWARD);
  54. det = check();
  55. break;
  56.  
  57.  
  58. case 'B':
  59. lcd.begin(16, 2);
  60. lcd.clear();
  61. lcd.setCursor(0,0);
  62.  
  63. lcd.print("Go Backward");
  64. delay(00);
  65. motorRight.setSpeed(255);
  66. motorLeft.setSpeed(255);
  67. motorRight.run(FORWARD);
  68. motorLeft.run(FORWARD);
  69. det = check();
  70. break;
  71. case 'L':
  72. lcd.begin(16, 2);
  73. lcd.clear();
  74. lcd.setCursor(0,0);
  75. lcd.print("Turn Left");
  76. motorRight.setSpeed(255);
  77. motorLeft.setSpeed(255);
  78. motorRight.run(FORWARD);
  79. motorLeft.run(BACKWARD);
  80. det = check();
  81. break;
  82. case 'R':
  83. lcd.begin(16, 2);
  84. lcd.clear();
  85. lcd.setCursor(0,0);
  86. lcd.print("Turn Right");
  87. motorRight.setSpeed(255);
  88. motorLeft.setSpeed(255);
  89. motorRight.run(BACKWARD);
  90. motorLeft.run(FORWARD);
  91. det = check();
  92. break;
  93.  
  94.  
  95. break;
  96. case 'S': // S, stop
  97. lcd.begin(16, 2);
  98. lcd.clear();
  99. lcd.setCursor(0,0);
  100. lcd.print("Czekam na przycisk");
  101. motorRight.setSpeed(255);
  102. motorLeft.setSpeed(255);
  103. motorRight.run(RELEASE);
  104. motorLeft.run(RELEASE);
  105. det = check();
  106. break;
  107. case 'V':
  108. tone(horn, 800, 100);
  109. break;
  110. case 'v':
  111. noTone(horn);
  112. break;
  113. case 'W':
  114. digitalWrite(frontLight, HIGH);
  115. break;
  116. case 'w':
  117. digitalWrite(frontLight, LOW);
  118. break;
  119.  
  120. case 'H':
  121. while(true){
  122. if(dataIn == '1') break;
  123. long duration, distance;
  124. digitalWrite(trigPin, LOW);
  125. delayMicroseconds(2);
  126. digitalWrite(trigPin, HIGH);
  127.  
  128. delayMicroseconds(10);
  129. digitalWrite(trigPin, LOW);
  130. duration = pulseIn(echoPin, HIGH);
  131. distance = (duration/2) / 29.1;
  132. if (distance < 15) {
  133. motorRight.setSpeed(255);
  134. motorLeft.setSpeed(255);
  135. motorRight.run(BACKWARD);
  136. motorLeft.run (FORWARD);
  137.  
  138. }
  139. else {
  140.  
  141. delay (15);
  142. motorRight.setSpeed(255);
  143. motorLeft.setSpeed(255);
  144. motorRight.run(BACKWARD);
  145. motorLeft.run(BACKWARD);
  146. break;
  147. }
  148. }
  149.  
  150.  
  151.  
  152.  
  153.  
  154. }
  155. }
  156.  
  157. int check(){
  158. if (Serial.available() > 0){
  159. dataIn = Serial.read();
  160. //check the code
  161. if (dataIn == 'F'){
  162. determinant = 'F';
  163. }
  164. else if (dataIn == 'B'){
  165. determinant = 'B';
  166. }
  167. else if (dataIn == 'L'){
  168. determinant = 'L';
  169. }
  170. else if (dataIn == 'R'){
  171. determinant = 'R';
  172. }
  173. else if (dataIn == 'I'){
  174. determinant = 'I';
  175. }
  176. else if (dataIn == 'J'){
  177. determinant = 'J';
  178. }
  179. else if (dataIn == 'G'){
  180. determinant = 'G';
  181. }
  182. else if (dataIn == 'H'){
  183. determinant = 'H';
  184. }
  185. else if (dataIn == 'S'){
  186. determinant = 'S';
  187. }
  188. else if (dataIn == '0'){
  189. vel = 0;
  190. }
  191. else if (dataIn == '1'){
  192. vel = 25;
  193. }
  194. else if (dataIn == '2'){
  195. vel = 50;
  196. }
  197. else if (dataIn == '3'){
  198. vel = 75;
  199. }
  200. else if (dataIn == '4'){
  201. vel = 100;
  202. }
  203. else if (dataIn == '5'){
  204. vel = 125;
  205. }
  206. else if (dataIn == '6'){
  207. vel = 150;
  208. }
  209. else if (dataIn == '7'){
  210. vel = 175;
  211. }
  212. else if (dataIn == '8'){
  213. vel = 200;
  214. }
  215. else if (dataIn == '9'){
  216. vel = 225;
  217. }
  218. else if (dataIn == 'q'){
  219. vel = 255;
  220. }
  221. else if (dataIn == 'U'){
  222. determinant = 'U';
  223. }
  224. else if (dataIn == 'u'){
  225. determinant = 'u';
  226. }
  227. else if (dataIn == 'W'){
  228. determinant = 'W';
  229. }
  230. else if (dataIn == 'w'){
  231. determinant = 'w';
  232. }
  233. else if (dataIn == 'V'){
  234. determinant = 'V';
  235. }
  236. else if (dataIn == 'v'){
  237. determinant = 'v';
  238. }
  239. else if (dataIn == 'X'){
  240. determinant = 'X';
  241. }
  242. else if (dataIn == 'x'){
  243. determinant = 'x';
  244. }
  245. }
  246. return determinant;
  247. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement