Update Code (1)
Update Code (1)
h>
#include <NewPing.h>
void setup() {
pinMode(RightMotorForward, OUTPUT);
pinMode(LeftMotorForward, OUTPUT);
pinMode(LeftMotorBackward, OUTPUT);
pinMode(RightMotorBackward, OUTPUT);
servo_motor.attach(11);
servo_motor.write(90);
delay(2000);
void loop() {
int distanceRight = 0;
int distanceLeft = 0;
delay(50);
distanceRight = lookRight();
delay(300);
distanceLeft = lookLeft();
delay(300);
distance = readPing();
}
int lookRight() {
servo_motor.write(30); // Adjusted from 10 to 30
delay(500);
int dist = readPing();
delay(100);
servo_motor.write(90);
return dist;
}
int lookLeft() {
servo_motor.write(150); // Adjusted from 170 to 150
delay(500);
int dist = readPing();
delay(100);
servo_motor.write(90);
return dist;
}
int readPing() {
delay(70);
int cm = sonar.ping_cm();
if (cm == 0) {
cm = 200; // Adjusted default value from 250 to 200
}
return cm;
}
void moveStop() {
digitalWrite(RightMotorForward, LOW);
digitalWrite(LeftMotorForward, LOW);
digitalWrite(RightMotorBackward, LOW);
digitalWrite(LeftMotorBackward, LOW);
}
void moveForward() {
if (!goesForward) {
goesForward = true;
digitalWrite(LeftMotorForward, HIGH);
digitalWrite(RightMotorForward, HIGH);
digitalWrite(LeftMotorBackward, LOW);
digitalWrite(RightMotorBackward, LOW);
}
}
void moveBackward() {
goesForward = false;
digitalWrite(LeftMotorBackward, HIGH);
digitalWrite(RightMotorBackward, HIGH);
digitalWrite(LeftMotorForward, LOW);
digitalWrite(RightMotorForward, LOW);
}
void turnRight() {
digitalWrite(LeftMotorForward, HIGH);
digitalWrite(RightMotorBackward, HIGH);
digitalWrite(LeftMotorBackward, LOW);
digitalWrite(RightMotorForward, LOW);
delay(500);
moveStop();
delay(200);
}
void turnLeft() {
digitalWrite(LeftMotorBackward, HIGH);
digitalWrite(RightMotorForward, HIGH);
digitalWrite(LeftMotorForward, LOW);
digitalWrite(RightMotorBackward, LOW);
delay(500);
moveStop();
delay(200);
}