Guest User

Untitled

a guest
Apr 21st, 2018
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.10 KB | None | 0 0
  1. int s1 = 14, s2 = 15, s3 = 16, s4 = 17, s5 = 18, clp = 19, left, right, left_most, right_most, center, bump;
  2. int right_motor_1 = 4, right_motor_2 = 7, left_motor_1 = 12, left_motor_2 = 8;
  3. int right_speed = 3, left_speed = 5;
  4. const int optSpeed = 100, sharp = 80;
  5. int flagLast = 0;
  6. void setup() {
  7. // put your setup code here, to run once:
  8. pinMode(s1, INPUT);
  9. pinMode(s2, INPUT);
  10. pinMode(s3, INPUT);
  11. pinMode(s4, INPUT);
  12. pinMode(s5, INPUT);
  13. pinMode(clp, INPUT);
  14.  
  15. pinMode(right_motor_1, OUTPUT);
  16. pinMode(right_motor_2, OUTPUT);
  17. pinMode(right_speed, OUTPUT);
  18. pinMode(left_motor_1, OUTPUT);
  19. pinMode(left_motor_2, OUTPUT);
  20. pinMode(left_speed, OUTPUT);
  21. Serial.begin(9600);
  22. }
  23.  
  24. void loop() {
  25. // put your main code here, to run repeatedly:
  26. left_most = digitalRead(s1);
  27. left = digitalRead(s2);
  28. center = digitalRead(s3);
  29. right = digitalRead(s4);
  30. right_most = digitalRead(s5);
  31. bump = digitalRead(clp);
  32.  
  33. if (bump == 1 ) {
  34. stopRun();
  35. }
  36. else if (left == 0 || left_most == 0) {
  37. move_left();
  38. }
  39. else if (right == 0 || right_most == 0) {
  40. move_right();
  41. }
  42. else if (center == 0 ) {
  43. forward();
  44. }
  45. else if ((left == 1 && right == 1 && left_most == 1 && right_most == 1 && center == 1)) {
  46.  
  47. revese();
  48.  
  49. delay(200);
  50. } else {
  51. revese();
  52. delay(200);
  53. }
  54.  
  55. }
  56.  
  57. void stopRun() {
  58. stop_();
  59. Serial.println("stop");
  60. }
  61.  
  62. void forward() {
  63. analogWrite(right_speed, optSpeed);
  64. analogWrite(left_speed, optSpeed);
  65. digitalWrite(right_motor_1, HIGH);
  66. digitalWrite(right_motor_2, LOW);
  67. digitalWrite(left_motor_1, HIGH);
  68. digitalWrite(left_motor_2, LOW);
  69. Serial.println("going forward");
  70. }
  71. void move_left_sharp() {
  72. analogWrite(right_speed, optSpeed);
  73. analogWrite(left_speed, optSpeed);
  74. digitalWrite(right_motor_1, HIGH);
  75. digitalWrite(right_motor_2, LOW);
  76.  
  77. digitalWrite(left_motor_1, LOW);
  78. digitalWrite(left_motor_2, HIGH);
  79. Serial.println("taking sharp left");
  80. }
  81. void move_right_sharp() {
  82. analogWrite(right_speed, optSpeed);
  83. analogWrite(left_speed, optSpeed);
  84. digitalWrite(right_motor_1, LOW);
  85. digitalWrite(right_motor_2, HIGH);
  86. digitalWrite(left_motor_1, HIGH);
  87. digitalWrite(left_motor_2, LOW);
  88. Serial.println("taking sharp right");
  89. }
  90.  
  91. void move_left() {
  92. analogWrite(right_speed, sharp);
  93. analogWrite(left_speed, optSpeed);
  94. digitalWrite(right_motor_1, HIGH);
  95. digitalWrite(right_motor_2, LOW);
  96.  
  97. digitalWrite(left_motor_1, LOW);
  98. digitalWrite(left_motor_2, LOW);
  99. Serial.println("taking left");
  100. }
  101. void move_right() {
  102. analogWrite(right_speed, optSpeed);
  103. analogWrite(left_speed, sharp);
  104. digitalWrite(right_motor_1, LOW);
  105. digitalWrite(right_motor_2, LOW);
  106. digitalWrite(left_motor_1, HIGH);
  107. digitalWrite(left_motor_2, LOW);
  108. Serial.println("taking right");
  109. }
  110. void stop_() {
  111. analogWrite(right_speed, optSpeed);
  112. analogWrite(left_speed, optSpeed);
  113. digitalWrite(right_motor_1, LOW);
  114. digitalWrite(right_motor_2, LOW);
  115. digitalWrite(left_motor_1, LOW);
  116. digitalWrite(left_motor_2, LOW);
  117.  
  118. }
  119.  
  120. void revese() {
  121. digitalWrite(right_motor_1, LOW);
  122. digitalWrite(right_motor_2, HIGH);
  123. digitalWrite(left_motor_1, LOW);
  124. digitalWrite(left_motor_2, HIGH);
  125.  
  126. }
Add Comment
Please, Sign In to add comment