For controlling the car and the sensor I use the software Arduino programming.
That's the code.
long distance;
int enA=10;//left motor speed
int in1=9;
int in2=8 ;
int in3=7;
int in4=6;
int enB=5;//right motor speed
void setup()
{
pinMode (13, OUTPUT) ;//trigger
pinMode (12, INPUT) ;//echo
pinMode(11,OUTPUT);//servo
pinMode(enA, OUTPUT);
pinMode (in1, OUTPUT) ;
pinMode (in2, OUTPUT) ;
pinMode (enB, OUTPUT);
pinMode (in3, OUTPUT);
pinMode (in4, OUTPUT) ;
Serial.begin(9600) ;//Sets the data rate in bits per second (baud) for serial
}
void loop()
{
Sonar () ;
//Serial.print (distance) ;
// Serial.printin("cm" ) ;
// delay (500) ;
if (distance < 20)
Backward();// keep social distance
{
digitalWrite(in3, LOW) ;
digitalWrite(in4, HIGH) ;
analogWrite(enB, 200);
digitalWrite(in1, LOW);
digitalWrite(in2, HIGH);
analogWrite(enA, 200);
}
}
void Forward()
{
digitalWrite(in3, LOW);
digitalWrite(in4, HIGH);
analogWrite(enB, 200);
digitalWrite(in1, LOW);
digitalWrite(in2, HIGH);
analogWrite(enA, 200);
delay (1000);
}
void Backward()
{
digitalWrite(in3, HIGH);
digitalWrite(in4, LOW);
analogWrite(enB, 200) ;
digitalWrite(in1, HIGH);
digitalWrite(in2, LOW);
analogWrite(enA, 200) ;
delay(1000);
}
void Sonar()
{
digitalWrite(13,LOW);//clear trig
delayMicroseconds(2);
digitalWrite(13,HIGH);//trig
delayMicroseconds(10);
digitalWrite(13,LOW); //claer trig
long duration=pulseIn(12,HIGH);//read echo pulse in micro sec
distance=(duration/2)/29.1;
}