int motor1Pin1 = 11; // pin 7 on L293D IC int motor1Pin2 = 10; // pin 8 on L293D IC int motor2Pin1 = 9; // pin 12 on L293D IC int motor2Pin2 = 8; // pin 13 on L293D IC int EnPinL = 6; // pin 12 on L293D IC int EnPinR = 7; // pin 13 on L293D IC int Sensor_1 = 0; int Sensor_2 = 0; int pirPin = 13; int ledPir = 4; String readBT; void setup() { // sets the pins as outputs: Serial.begin(9600); pinMode(motor1Pin1, OUTPUT); pinMode(motor1Pin2, OUTPUT); pinMode(motor2Pin1, OUTPUT); pinMode(motor2Pin2, OUTPUT); pinMode(EnPinL, OUTPUT); pinMode(EnPinR, OUTPUT); pinMode(pirPin, INPUT); pinMode(ledPir, OUTPUT); digitalWrite(ledPir,LOW); } void loop() { Sensor_2 = analogRead(A0); Sensor_1 = analogRead(A1); while (Serial.available()){ delay (3); char c = Serial.read(); readBT += c; } if (readBT.length() >0) { Serial.println(readBT); if (readBT == "2ON") { digitalWrite(EnPinL, HIGH); digitalWrite(EnPinR, HIGH); } if (readBT == "2OFF") { digitalWrite(EnPinL, LOW); digitalWrite(EnPinR, LOW); } readBT ="";} if (digitalRead(pirPin) == HIGH){ Serial.println("Motion Detected"); digitalWrite(ledPir,HIGH); } if (digitalRead(pirPin) == LOW){ Serial.println("No Motion"); digitalWrite(ledPir,LOW); } if (Sensor_1 < 300 && Sensor_2 > 300) { Serial.println("Moving Backward"); digitalWrite(motor1Pin1, LOW); digitalWrite(motor1Pin2, HIGH); digitalWrite(motor2Pin1, HIGH); digitalWrite(motor2Pin2, LOW); delay(1000); Serial.println("Right Turn"); digitalWrite(motor1Pin1, HIGH); digitalWrite(motor1Pin2, LOW); digitalWrite(motor2Pin1, LOW); digitalWrite(motor2Pin2, LOW); delay(1000); } else if (Sensor_2 <300 && Sensor_1 > 300) { Serial.println("Moving Backward"); digitalWrite(motor1Pin1, LOW); digitalWrite(motor1Pin2, HIGH); digitalWrite(motor2Pin1, HIGH); digitalWrite(motor2Pin2, LOW); delay(1000); Serial.println("Left Turn"); digitalWrite(motor1Pin1, LOW); digitalWrite(motor1Pin2, LOW); digitalWrite(motor2Pin1, LOW); digitalWrite(motor2Pin2, HIGH); delay(1000); } else { Serial.println("Moving Forward"); digitalWrite(motor1Pin1, HIGH); digitalWrite(motor1Pin2, LOW); digitalWrite(motor2Pin1, LOW); digitalWrite(motor2Pin2, HIGH); } }