Line Tracking Car Robot - MEAS RATHA

Royal University of Phnom Penh (RUPP). Department of Telecommunication and Electronic Engineering.

Hot

Post Top Ad

Sunday, September 17, 2023

Line Tracking Car Robot

 

 Code For this Project


 
       

            //including the libraries
#include 

//defining pins and variables
#define left A0
#define right A1
#define midle A2

//defining motors
AF_DCMotor motor1(1, MOTOR12_1KHZ); 
AF_DCMotor motor2(2, MOTOR12_1KHZ);
AF_DCMotor motor3(3, MOTOR34_1KHZ);
AF_DCMotor motor4(4, MOTOR34_1KHZ);



void setup() {
  //declaring pin types
  pinMode(left,INPUT);
  pinMode(right,INPUT);
  pinMode(midle,INPUT);
  //begin serial communication
  Serial.begin(9600);
  
}

void loop(){
  //printing values of the sensors to the serial monitor
  Serial.println(digitalRead(left));
  
  Serial.println(digitalRead(right));

  Serial.println(digitalRead(midle));

  //line detected by both
  if(digitalRead(left)==0 && !digitalRead(midle)==0 && digitalRead(right)==0){
    //Forward
    motor1.run(FORWARD);
    motor1.setSpeed(150);
    motor2.run(FORWARD);
    motor2.setSpeed(150);
    motor3.run(FORWARD);
    motor3.setSpeed(150);
    motor4.run(FORWARD);
    motor4.setSpeed(150);
  }
  //line detected by left sensor
  else if(!digitalRead(left)==0 && !digitalRead(midle)==0 && digitalRead(right)==0){
    //turn left
    motor1.run(BACKWARD);
    motor1.setSpeed(70);
    motor2.run(BACKWARD);
    motor2.setSpeed(70);
    motor3.run(FORWARD);
    motor3.setSpeed(70);
    motor4.run(FORWARD);
    motor4.setSpeed(70);  
  }
  //line detected by right sensor
  else if(!digitalRead(left)==0 && digitalRead(midle)==0 && digitalRead(right)==0){
    //turn left
    motor1.run(BACKWARD);
    motor1.setSpeed(90);
    motor2.run(BACKWARD);
    motor2.setSpeed(90);
    motor3.run(FORWARD);
    motor3.setSpeed(100);
    motor4.run(FORWARD);
    motor4.setSpeed(100);
   
  }
   else if(digitalRead(left)==0 && !digitalRead(midle)==0 && !digitalRead(right)==0){
    //turn right
    motor1.run(FORWARD);
    motor1.setSpeed(70);
    motor2.run(FORWARD);
    motor2.setSpeed(70);
    motor3.run(BACKWARD);
    motor3.setSpeed(70);
    motor4.run(BACKWARD);
    motor4.setSpeed(70);
   }

   else if(digitalRead(left)==0 && digitalRead(midle)==0 && !digitalRead(right)==0){
    //turn right
    motor1.run(FORWARD);
    motor1.setSpeed(90);
    motor2.run(FORWARD);
    motor2.setSpeed(90);
    motor3.run(BACKWARD);
    motor3.setSpeed(100);
    motor4.run(BACKWARD);
    motor4.setSpeed(100);
   }
  //line detected by none
  else if(!digitalRead(midle)==0 && !digitalRead(midle)==0 && !digitalRead(right)==0){
    //stop
    motor1.run(RELEASE);
    motor1.setSpeed(0);
    motor2.run(RELEASE);
    motor2.setSpeed(0);
    motor3.run(RELEASE);
    motor3.setSpeed(0);
    motor4.run(RELEASE);
    motor4.setSpeed(0);
   
  }
  
}

       
 

No comments:

Post a Comment

Post Top Ad