const int DIR = 12;
const int STEP = 13;
const int REV = 200;
const int DER = 2;
const int STIP = 3;
const int RIR = 4;
const int LIR = 5;
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
pinMode(STEP, OUTPUT);
pinMode(DIR, OUTPUT);
pinMode(STIP, OUTPUT);
pinMode(DER, OUTPUT);
pinMode(RIR, INPUT);
pinMode(LIR, INPUT);
}
void loop() {
// put your main code here, to run repeatedly:
Serial.println("Area Scanning");
if((digitalRead(RIR) == 1)&&(digitalRead(LIR) == 1)){foward();}
if((digitalRead(RIR) == 0)&&(digitalRead(LIR) == 1)){turnRight();}
if((digitalRead(RIR) == 1)&&(digitalRead(LIR) == 0)){turnLeft();}
if((digitalRead(RIR) == 0)&&(digitalRead(LIR) == 0)){Stop();}
}
void foward() {
int W = digitalRead(RIR);
int Y = digitalRead(LIR);
digitalWrite(DIR, HIGH);
digitalWrite(DER, HIGH);
for(int x = 0;x<REV;x++){
digitalWrite(STEP, HIGH);
digitalWrite(STIP, HIGH);
delayMicroseconds(200000);
digitalWrite(STEP, LOW);
digitalWrite(STIP, LOW);
delayMicroseconds(200000);
}
Serial.print("Right ir sensor value : ");
Serial.println(W);
Serial.print("Left ir sensor value : ");
Serial.println(Y);
Serial.println("Vehicle intiated to go forward");
}
void turnRight() {
int W = digitalRead(RIR);
int Y = digitalRead(LIR);
digitalWrite(DIR, HIGH);
digitalWrite(DER, LOW);
for(int x = 0;x<REV;x++){
digitalWrite(STEP, HIGH);
digitalWrite(STIP, HIGH);
delayMicroseconds(2000);
digitalWrite(STEP, LOW);
digitalWrite(STIP, LOW);
delayMicroseconds(2000);
}
delay(5000);
Serial.print("Right ir sensor value : ");
Serial.println(W);
Serial.print("Left ir sensor value : ");
Serial.println(Y);
Serial.println("Vehicle initiated to turn right");
}
void turnLeft() {
int W = digitalRead(RIR);
int Y = digitalRead(LIR);
digitalWrite(DIR, LOW);
digitalWrite(DER, HIGH);
for(int x = 0;x<REV;x++){
digitalWrite(STEP, HIGH);
digitalWrite(STIP, HIGH);
delayMicroseconds(2000);
digitalWrite(STEP, LOW);
digitalWrite(STIP, LOW);
delayMicroseconds(2000);
}
delay(5000);
Serial.print("Right ir sensor value : ");
Serial.println(W);
Serial.print("Left ir sensor value : ");
Serial.println(Y);
Serial.println("Vehicle initiated to turn left");
}
void Stop() {
int W = digitalRead(RIR);
int Y = digitalRead(LIR);
digitalWrite(DIR, LOW);
digitalWrite(DER, LOW);
for(int x = 0;x<REV;x++){
digitalWrite(STEP, LOW);
digitalWrite(STIP, LOW);
delayMicroseconds(2000);
digitalWrite(STEP, LOW);
digitalWrite(STIP, LOW);
delayMicroseconds(2000);
}
Serial.print("Right ir sensor value : ");
Serial.println(W);
Serial.print("Left ir sensor value : ");
Serial.println(Y);
Serial.println("Vehicle intiated to go backward");
}