int in1Pin = 6;
int in2Pin = 7;
int in3Pin = 8;
int in4Pin = 9;
const int trigPin = 11;
const int echoPin = 10;
const int buzzer = 12;
long duration;
int distance;
int safetyDistance;
void setup()
{
Serial.begin(9600);
pinMode(in1Pin, OUTPUT);
pinMode(in2Pin, OUTPUT);
pinMode(in3Pin, OUTPUT);
pinMode(in4Pin, OUTPUT);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(buzzer, OUTPUT);
}
void loop()
{
digitalWrite(trigPin,LOW);
delayMicroseconds(2);
digitalWrite(trigPin,HIGH);
delayMicroseconds(15);
digitalWrite(trigPin,LOW);
duration = pulseIn(echoPin,1);
distance = duration*0.034/2;
safetyDistance = distance;
if (safetyDistance <= 30)
{
digitalWrite(buzzer, HIGH);
delay(200);
digitalWrite(buzzer,LOW);
delay(3000);
}
else{
digitalWrite(buzzer, LOW);
}
int joystickValuex = analogRead(A0);
int joystickValuey= analogRead(A1);
if (joystickValuex >= 530)
{
digitalWrite(in1Pin, HIGH);
digitalWrite(in2Pin, LOW);
digitalWrite(in3Pin, HIGH);
digitalWrite(in4Pin, LOW);
}
else if (joystickValuex <= 490)
{
digitalWrite(in1Pin, LOW);
digitalWrite(in2Pin, HIGH);
digitalWrite(in3Pin, LOW);
digitalWrite(in4Pin, HIGH);
}
else if (joystickValuey >= 530)
{
digitalWrite(in1Pin, LOW);
digitalWrite(in2Pin, HIGH);
digitalWrite(in3Pin, HIGH);
digitalWrite(in4Pin, LOW);
}
else if (joystickValuey <= 490)
{
digitalWrite(in1Pin, HIGH);
digitalWrite(in2Pin, LOW);
digitalWrite(in3Pin, LOW);
digitalWrite(in4Pin, HIGH);
}
else
{
digitalWrite(in1Pin, LOW);
digitalWrite(in2Pin, LOW);
digitalWrite(in3Pin, LOW);
digitalWrite(in4Pin, LOW);
}
}