My line follower was working just fine but i need to add a code for a dc water pump when i added the code it just stop working. It was a og arduino uno and i tried to change i had a fake one still it didn't work. Here is my code
// Line Following Robot
// Uses IR sensors for line following
#define LEFT_SENSOR A0
#define RIGHT_SENSOR A1
#define MOTOR_LEFT_FORWARD 5
#define MOTOR_LEFT_BACKWARD 6
#define MOTOR_RIGHT_FORWARD 3
#define MOTOR_RIGHT_BACKWARD 4
#define SPRAYER 7
void setup() {
pinMode(LEFT_SENSOR, INPUT);
pinMode(RIGHT_SENSOR, INPUT);
pinMode(MOTOR_LEFT_FORWARD, OUTPUT);
pinMode(MOTOR_LEFT_BACKWARD, OUTPUT);
pinMode(MOTOR_RIGHT_FORWARD, OUTPUT);
pinMode(MOTOR_RIGHT_BACKWARD, OUTPUT);
pinMode(SPRAYER, OUTPUT);
Serial.begin(9600);
}
void moveForward() {
digitalWrite(MOTOR_LEFT_FORWARD, HIGH);
digitalWrite(MOTOR_LEFT_BACKWARD, LOW);
digitalWrite(MOTOR_RIGHT_FORWARD, HIGH);
digitalWrite(MOTOR_RIGHT_BACKWARD, LOW);
}
void turnLeft() {
digitalWrite(MOTOR_LEFT_FORWARD, LOW);
digitalWrite(MOTOR_LEFT_BACKWARD, LOW);
digitalWrite(MOTOR_RIGHT_FORWARD, HIGH);
digitalWrite(MOTOR_RIGHT_BACKWARD, LOW);
}
void turnRight() {
digitalWrite(MOTOR_LEFT_FORWARD, HIGH);
digitalWrite(MOTOR_LEFT_BACKWARD, LOW);
digitalWrite(MOTOR_RIGHT_FORWARD, LOW);
digitalWrite(MOTOR_RIGHT_BACKWARD, LOW);
}
void stopRobot() {
digitalWrite(MOTOR_LEFT_FORWARD, LOW);
digitalWrite(MOTOR_RIGHT_FORWARD, LOW);
}
void spray() {
digitalWrite(SPRAYER, HIGH);
delay(1000);
digitalWrite(SPRAYER, LOW);
}
void loop() {
int leftSensor = digitalRead(LEFT_SENSOR);
int rightSensor = digitalRead(RIGHT_SENSOR);
if (leftSensor == LOW && rightSensor == LOW) {
moveForward();
} else if (leftSensor == LOW && rightSensor == HIGH) {
turnLeft();
} else if (leftSensor == HIGH && rightSensor == LOW) {
turnRight();
} else {
stopRobot();
}
}