Royal University of Phnom Penh (RUPP). Department of Telecommunication and Electronic Engineering.
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);
}
}
Hello, my name is Meas Ratha. I studied at Royal University of Phnom Penh. My major is Telecommunication and Electronic Engineering.
Learn More →