#define int1 10
#define int2 9
#define int3 6
#define int4 5
#define front_light 13
#define left_light 12
#define right_light 11
#define main_light 8
#define back_light 7
#define speaker 3
#define vcc_ir 4
#define left_ir A0
#define right_ir A1
#define ldr A2
char data;
int ldrVal;
void setup() {
pinMode(int1, OUTPUT);
pinMode(int2, OUTPUT);
pinMode(int3, OUTPUT);
pinMode(int4, OUTPUT);
pinMode(main_light, OUTPUT); // main light (in car)
pinMode(front_light, OUTPUT); // front light
pinMode(back_light, OUTPUT); // back light
pinMode(left_light, OUTPUT); //side left light
pinMode(right_light, OUTPUT); //side right light
pinMode(speaker, OUTPUT); //speaker for horn
pinMode(vcc_ir, OUTPUT); //speaker for horn
pinMode(left_ir, INPUT); // initialize Left sensor as an input
pinMode(right_ir, INPUT); // initialize Right sensor as an input
pinMode(ldr, INPUT); // initialize ldr sensor for brightness
Serial.begin(9600); //Set the baud rate to your Bluetooth module.
}
void loop() {
if(Serial.available()){
data = Serial.read();
Serial.println(data);
}
ldrVal = analogRead(ldr);
if(ldrVal <= 400){
digitalWrite(main_light,HIGH);
digitalWrite(front_light,HIGH);
} else {
digitalWrite(main_light,LOW);
digitalWrite(front_light,LOW);
}
if(data == 'F'){ //move forward
digitalWrite(int1,HIGH);
digitalWrite(int3,HIGH);
digitalWrite(speaker,LOW);
digitalWrite(left_light,LOW);
digitalWrite(right_light,LOW);
digitalWrite(back_light,LOW);
}
else if(data == 'B'){ //move reverse
digitalWrite(int2,HIGH);
digitalWrite(int4,HIGH);
digitalWrite(back_light,HIGH);
digitalWrite(speaker,HIGH);
digitalWrite(left_light,LOW);
digitalWrite(right_light,LOW);
}
else if(data == 'L'){ //turn left
digitalWrite(int1,HIGH);
digitalWrite(int4,HIGH);
digitalWrite(left_light,HIGH);
digitalWrite(right_light,LOW);
}
else if(data == 'G'){ //turn forword left
digitalWrite(int1,HIGH);
analogWrite(int3,100);
digitalWrite(left_light,HIGH);
digitalWrite(right_light,LOW);
}
else if(data == 'H'){ //turn back left
digitalWrite(int2,HIGH);
analogWrite(int4,100);
digitalWrite(back_light,HIGH);
analogWrite(speaker,100);
digitalWrite(left_light,HIGH);
digitalWrite(right_light,LOW);
}
else if(data == 'J'){ //turn back right
analogWrite(int2,100);
digitalWrite(int4,HIGH);
digitalWrite(back_light,HIGH);
analogWrite(speaker,100);
digitalWrite(right_light,HIGH);
digitalWrite(left_light,LOW);
}
else if(data == 'I'){ //turn forword right
analogWrite(int1,100);
digitalWrite(int3,HIGH);
digitalWrite(right_light,HIGH);
digitalWrite(left_light,LOW);
}
else if(data == 'R'){ //turn right
digitalWrite(int3,HIGH);
digitalWrite(int2,HIGH);
digitalWrite(right_light,HIGH);
digitalWrite(left_light,LOW);
}
else if(data == 'W'){ //turn on front light
digitalWrite(front_light,HIGH);
}
else if(data == 'w'){ //turn off front light
digitalWrite(front_light,LOW);
}
else if(data == 'U'){ //turn on back light
digitalWrite(back_light,HIGH);
}
else if(data == 'u'){ //turn off back light
digitalWrite(back_light,LOW);
}
else if(data == 'V'){ //turn on horn
digitalWrite(speaker,HIGH);
}
else if(data == 'v'){ //turn off horn
digitalWrite(speaker,LOW);
}
else if(data == 'S'){ //STOP (all motors stop) and on back light
digitalWrite(int1,LOW);
digitalWrite(int2,LOW);
digitalWrite(int3,LOW);
digitalWrite(int4,LOW);
digitalWrite(back_light,HIGH);
digitalWrite(left_light,LOW);
digitalWrite(right_light,LOW);
digitalWrite(speaker,LOW);
}
else if(data == 'X'){ // this code for lane following
digitalWrite(vcc_ir,HIGH);
int LEFT_SENSOR = digitalRead(left_ir);
int RIGHT_SENSOR = digitalRead(right_ir);
if(RIGHT_SENSOR==0 && LEFT_SENSOR==0) {
analogWrite(int1,100);
analogWrite(int2,0);
analogWrite(int3,100); //FORWARD
analogWrite(int4,0);
digitalWrite(speaker,LOW);
digitalWrite(left_light,LOW);
digitalWrite(right_light,LOW);
digitalWrite(back_light,LOW);
}
else if(RIGHT_SENSOR==0 && LEFT_SENSOR==1) {
analogWrite(int1,150);
analogWrite(int4,150); //Move left
digitalWrite(left_light,HIGH);
digitalWrite(right_light,LOW);
digitalWrite(int2,LOW);
digitalWrite(int3,LOW);
}
else if(RIGHT_SENSOR==1 && LEFT_SENSOR==0) {
analogWrite(int3,150);
analogWrite(int2,150); //Move right
digitalWrite(right_light,HIGH);
digitalWrite(left_light,LOW);
digitalWrite(int1,LOW);
digitalWrite(int4,LOW);
}
else if(RIGHT_SENSOR==1 && LEFT_SENSOR==1) {
analogWrite(int1,0);
analogWrite(int2,0);
analogWrite(int3,0);
analogWrite(int4,0); //STOP
digitalWrite(back_light, HIGH);
digitalWrite(left_light,LOW);
digitalWrite(right_light,LOW);
digitalWrite(speaker,LOW);
}
}
else if(data =='x'){
digitalWrite(vcc_ir,LOW);
digitalWrite(int1,LOW);
digitalWrite(int2,LOW);
digitalWrite(int3,LOW);
digitalWrite(int4,LOW);
digitalWrite(back_light,HIGH);
digitalWrite(left_light,LOW);
digitalWrite(right_light,LOW);
digitalWrite(speaker,LOW);
}
}