int Motor11 = 51; int Motor12 = 50; int Motor21 = 53; int Motor22 = 52; int PWMmotor1 = 11; int PWMmotor2 = 12; int turn_delay = 10; int valuePWM3=100; // speed motor 1 int valuePWM1=90; int valuePWM4=255; int valuePWM2=255; // speed motor 2 int valuePWM5=60; int valuePWM6=90; int state; int a=1; int b=0; int c=0; int buzzer=28; const int led =13; const int led2 =38; const int TRIGGER_PIN = 2; const int ECHO_PIN = 3; const int TRIGGER_PIN2 = 4; const int ECHO_PIN2 = 5; const int TRIGGER_PIN3 = 6; const int ECHO_PIN3 = 7; float i = 0, j=0; void setup() { pinMode (TRIGGER_PIN, OUTPUT); pinMode (ECHO_PIN, INPUT); pinMode (TRIGGER_PIN2, OUTPUT); pinMode (ECHO_PIN2, INPUT); pinMode (TRIGGER_PIN3, OUTPUT); pinMode (ECHO_PIN3, INPUT); pinMode(Motor11,OUTPUT); pinMode(Motor12,OUTPUT); pinMode(Motor21,OUTPUT); pinMode(Motor22,OUTPUT); pinMode(PWMmotor1,OUTPUT); pinMode(PWMmotor2,OUTPUT); pinMode(led,OUTPUT); pinMode(led2,OUTPUT); Serial.begin(9600); delay(500); } void loop() { if(Serial.available()>0) { state = Serial.read(); delay(80); } Serial.print("\n state= "); Serial.print(state); bluetooth(); } void bluetooth() { float distance,distance2,distance3; unsigned long duration,duration2,duration3; //Ultrasonic 1 ( In fata) digitalWrite(TRIGGER_PIN, LOW); delayMicroseconds(2); digitalWrite(TRIGGER_PIN, HIGH); delayMicroseconds(10); digitalWrite(TRIGGER_PIN, LOW); duration = pulseIn (ECHO_PIN, HIGH); distance = duration * 0.034 / 2; digitalWrite(Motor11, LOW); digitalWrite(Motor12, LOW); digitalWrite(Motor21, LOW); digitalWrite(Motor22, LOW); analogWrite(PWMmotor1, 0); analogWrite(PWMmotor2, 0); digitalWrite(led, a); digitalWrite(led2, LOW); switch(state) { case 1: forward_B(); digitalWrite(led2, LOW); if(distance<=15) { stop(); tone(buzzer,450); delay(1000); noTone(buzzer); delay(1000); } break; case 2: back_B(); digitalWrite(led2, LOW); break; case 3: right_B(); digitalWrite(led2, LOW); break; case 4: left_B(); digitalWrite(led2, LOW); break; case 5: right_up_B(); digitalWrite(led2, LOW); break; case 6: left_up_B(); digitalWrite(led2, LOW); break; case 7: right_down_B(); digitalWrite(led2, LOW); break; case 8: left_down_B(); digitalWrite(led2, LOW); break; case 9: stop(); digitalWrite(led2, HIGH); break; case 10: a=!a; break; case 11: digitalWrite(led, 1); digitalWrite(led2, 1); delay(500); digitalWrite(led, 0); digitalWrite(led2, 0); delay(500); break; case 12: tone(buzzer,450); delay(1000); noTone(buzzer); delay(1000); break; case 13: a=a; break; } } void forward_B() { digitalWrite(Motor11, HIGH); digitalWrite(Motor12, LOW); digitalWrite(Motor21, HIGH); digitalWrite(Motor22, LOW); analogWrite(PWMmotor1, valuePWM4); analogWrite(PWMmotor2, valuePWM4); } void back_B() { digitalWrite(Motor11, LOW); digitalWrite(Motor12, HIGH); digitalWrite(Motor21, LOW); digitalWrite(Motor22, HIGH); analogWrite(PWMmotor1, valuePWM4); analogWrite(PWMmotor2, valuePWM4); } void right_B() { digitalWrite(Motor11, LOW); digitalWrite(Motor12, HIGH); digitalWrite(Motor21, HIGH); digitalWrite(Motor22, LOW); analogWrite(PWMmotor1, valuePWM4); analogWrite(PWMmotor2, valuePWM4); delay(turn_delay); } void left_B() { digitalWrite(Motor11, HIGH); digitalWrite(Motor12, LOW); digitalWrite(Motor21, LOW); digitalWrite(Motor22, HIGH); analogWrite(PWMmotor1, valuePWM4); analogWrite(PWMmotor2, valuePWM4); delay(turn_delay); } void left_up_B() { digitalWrite(Motor11, HIGH); digitalWrite(Motor12, LOW); digitalWrite(Motor21, HIGH); digitalWrite(Motor22, LOW); analogWrite(PWMmotor1, valuePWM3); analogWrite(PWMmotor2, valuePWM4); } void right_up_B() { digitalWrite(Motor11, HIGH); digitalWrite(Motor12, LOW); digitalWrite(Motor21, HIGH); digitalWrite(Motor22, LOW); analogWrite(PWMmotor1, valuePWM4); analogWrite(PWMmotor2, valuePWM3); } void left_down_B() { digitalWrite(Motor11, LOW); digitalWrite(Motor12, HIGH); digitalWrite(Motor21, LOW); digitalWrite(Motor22, HIGH); analogWrite(PWMmotor1, valuePWM3); analogWrite(PWMmotor2, valuePWM4); } void right_down_B() { digitalWrite(Motor11, LOW); digitalWrite(Motor12, HIGH); digitalWrite(Motor21, LOW); digitalWrite(Motor22, HIGH); analogWrite(PWMmotor1, valuePWM4); analogWrite(PWMmotor2, valuePWM3); } void stop() { digitalWrite(Motor11, LOW); digitalWrite(Motor12, LOW); digitalWrite(Motor21, LOW); digitalWrite(Motor22, LOW); analogWrite(PWMmotor1, 0); analogWrite(PWMmotor2, 0); }