Advertisement
Guest User

Untitled

a guest
Feb 20th, 2020
117
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.58 KB | None | 0 0
  1. #include <AFMotor.h>
  2. #include <SoftwareSerial.h>
  3.  
  4. SoftwareSerial BT(0, 1); // RX, TX
  5.  
  6. //initial motors pin
  7. AF_DCMotor motor1(1);
  8. AF_DCMotor motor2(2);
  9.  
  10. char command;
  11.  
  12. void setup()
  13. {
  14. Serial.begin(9600); //Set the baud rate to your Bluetooth module.
  15. }
  16.  
  17. void loop(){
  18. if(Serial.available() > 0){
  19. command = Serial.read();
  20. Stop(); //initialize with motors stoped
  21. //Change pin mode only if new command is different from previous.
  22. //Serial.println(command);
  23. switch(command){
  24. case '1':
  25. forward();
  26. break;
  27. case '2':
  28. back();
  29. break;
  30. case '3':
  31. left();
  32. break;
  33. case 'R':
  34. right();
  35. break;
  36. case 'I':
  37. forwardRight();
  38. break;
  39. case 'J':
  40. backRight();
  41. break;
  42. case 'G':
  43. forwardLeft();
  44. break;
  45. case 'H':
  46. backLeft();
  47. break;
  48.  
  49. }
  50. }
  51. }
  52.  
  53. void forward()
  54. {
  55. motor1.setSpeed(255); //Define maximum velocity
  56. motor1.run(FORWARD); //rotate the motor clockwise
  57. motor2.setSpeed(255); //Define maximum velocity
  58. motor2.run(FORWARD); //rotate the motor clockwise
  59. }
  60.  
  61. void back()
  62. {
  63. motor1.setSpeed(255); //Define maximum velocity
  64. motor1.run(BACKWARD); //rotate the motor anti-clockwise
  65. motor2.setSpeed(255); //Define maximum velocity
  66. motor2.run(BACKWARD); //rotate the motor anti-clockwise
  67. }
  68.  
  69. void left()
  70. {
  71. motor1.setSpeed(255); //Define maximum velocity
  72. motor1.run(BACKWARD); //rotate the motor anti-clockwise
  73. motor2.setSpeed(255); //Define maximum velocity
  74. motor2.run(BACKWARD); //rotate the motor anti-clockwise
  75. }
  76.  
  77. void right()
  78. {
  79. motor1.setSpeed(255); //Define maximum velocity
  80. motor1.run(FORWARD); //rotate the motor clockwise
  81. motor2.setSpeed(255); //Define maximum velocity
  82. motor2.run(FORWARD); //rotate the motor clockwise
  83. }
  84.  
  85. void Stop()
  86. {
  87. motor1.setSpeed(0); //Define minimum velocity
  88. motor1.run(RELEASE); //stop the motor when release the button
  89. motor2.setSpeed(0); //Define minimum velocity
  90. motor2.run(RELEASE); //rotate the motor clockwise
  91. }
  92.  
  93. void forwardRight()
  94. {
  95. motor1.setSpeed(255);
  96. motor1.run(FORWARD);
  97. motor2.setSpeed(255);
  98. motor2.run(FORWARD);
  99. }
  100.  
  101. void backRight()
  102. {
  103. motor1.setSpeed(255);
  104. motor1.run(BACKWARD);
  105. motor2.setSpeed(255);
  106. motor2.run(BACKWARD);
  107. }
  108. void forwardLeft()
  109. {
  110. motor1.setSpeed(255);
  111. motor1.run(FORWARD);
  112. motor2.setSpeed(0);
  113. motor2.run(RELEASE);
  114. }
  115. void backLeft()
  116. {
  117. motor1.setSpeed(255);
  118. motor1.run(BACKWARD);
  119. motor2.setSpeed(0);
  120. motor2.run(RELEASE);
  121. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement