Guest User

Untitled

a guest
Feb 5th, 2023
30
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.35 KB | None | 0 0
  1.  
  2. #include<NewPing.h>
  3. #include<Servo.h>
  4. #include<AFMotor.h>
  5. #define RIGHT A2
  6. #define LEFT A3
  7. #define TRIGGER_PIN A1
  8. #define ECHO_PIN A0
  9. #define MAX_DISTANCE 100
  10.  
  11.  
  12. NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE);
  13.  
  14.  
  15. AF_DCMotor Motor1(1,MOTOR12_1KHZ);
  16. AF_DCMotor Motor2(2,MOTOR12_1KHZ);
  17. AF_DCMotor Motor3(3,MOTOR34_1KHZ);
  18. AF_DCMotor Motor4(4,MOTOR34_1KHZ);
  19.  
  20. Servo myservo;
  21.  
  22. int pos =0;
  23.  
  24. void setup() {
  25. // put your setup code here, to run once:
  26. Serial.begin(9600);
  27. myservo.attach(10);
  28. {
  29. for(pos = 90; pos <= 180; pos += 1){
  30. myservo.write(pos);
  31. delay(15);
  32. } for(pos = 180; pos >= 0; pos-= 1) {
  33. myservo.write(pos);
  34. delay(15);
  35. }for(pos = 0; pos<=90; pos += 1) {
  36. myservo.write(pos);
  37. delay(15);
  38. }
  39. }
  40. pinMode(RIGHT, INPUT);
  41. pinMode(LEFT, INPUT);
  42.  
  43. }
  44.  
  45. void loop() {
  46. // put your main code here, to run repeatedly:
  47.  
  48. delay(50);
  49. unsigned int distance = sonar.ping_cm();
  50. Serial.print("distance");
  51. Serial.println(distance);
  52.  
  53.  
  54. int Right_Value = digitalRead(RIGHT);
  55. int Left_Value = digitalRead(LEFT);
  56.  
  57. Serial.print("RIGHT");
  58. Serial.println(Right_Value);
  59. Serial.print("LEFT");
  60. Serial.println(Left_Value);
  61.  
  62. if((Right_Value==1) && (distance>=10 && distance<=30)&&(Left_Value==1)){
  63. Motor1.setSpeed(120);
  64. Motor1.run(FORWARD);
  65. Motor2.setSpeed(120);
  66. Motor2.run(FORWARD);
  67. Motor3.setSpeed(120);
  68. Motor3.run(FORWARD);
  69. Motor4.setSpeed(120);
  70. Motor4.run(FORWARD);
  71. }else if((Right_Value==0) && (Left_Value==1)) {
  72. Motor1.setSpeed(200);
  73. Motor1.run(FORWARD);
  74. Motor2.setSpeed(200);
  75. Motor2.run(FORWARD);
  76. Motor3.setSpeed(100);
  77. Motor3.run(BACKWARD);
  78. Motor4.setSpeed(100);
  79. Motor4.run(BACKWARD);
  80. }else if((Right_Value==1)&&(Left_Value==0)) {
  81. Motor1.setSpeed(100);
  82. Motor1.run(BACKWARD);
  83. Motor2.setSpeed(100);
  84. Motor2.run(BACKWARD);
  85. Motor3.setSpeed(200);
  86. Motor3.run(FORWARD);
  87. Motor4.setSpeed(200);
  88. Motor4.run(FORWARD);
  89. }else if((Right_Value==1)&&(Left_Value==1)) {
  90. Motor1.setSpeed(0);
  91. Motor1.run(RELEASE);
  92. Motor2.setSpeed(0);
  93. Motor2.run(RELEASE);
  94. Motor3.setSpeed(0);
  95. Motor3.run(RELEASE);
  96. Motor4.setSpeed(0);
  97. Motor4.run(RELEASE);
  98. }else if(distance > 1 && distance < 10) {
  99. Motor1.setSpeed(0);
  100. Motor1.run(RELEASE);
  101. Motor2.setSpeed(0);
  102. Motor2.run(RELEASE);
  103. Motor3.setSpeed(0);
  104. Motor3.run(RELEASE);
  105. Motor4.setSpeed(0);
  106. Motor4.run(RELEASE);
  107. }
  108. }
  109.  
Advertisement
Add Comment
Please, Sign In to add comment