const int trigPin = 11;
const int echoPin = 12;
long distance;
long duration;
#define ENA 3
#define EN1 2
#define EN2 4
#define ENB 5
#define EN3 7
#define EN4 6
int carSpeed = 200;
void setup() {
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(ENA, OUTPUT);
pinMode(ENB, OUTPUT);
pinMode(EN1, OUTPUT);
pinMode(EN2, OUTPUT);
pinMode(EN3, OUTPUT);
pinMode(EN4, OUTPUT);
}
void loop(){
ultra();
if (distance > 10 && distance < 30) {
moving_forward();
}
else if(distance < 10) {
moving_backward();
}
else {
stop_moving();
}
delay(100);
}
void moving_forward(){
digitalWrite(EN1, HIGH);
digitalWrite(EN2, LOW);
analogWrite(ENA, carSpeed);
digitalWrite(EN3, HIGH);
digitalWrite(EN4, LOW);
analogWrite(ENB, carSpeed);
}
void moving_backward(){
digitalWrite(EN1, LOW);
digitalWrite(EN2, HIGH);
analogWrite(ENA, carSpeed);
digitalWrite(EN3, LOW);
digitalWrite(EN4, HIGH);
analogWrite(ENB, carSpeed);
}
void stop_moving(){
analogWrite(ENA, LOW);
analogWrite(ENB, LOW);
}
void ultra(){
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance= duration*0.034/2;
}
Comments