Ultrasonik Sensörlerle Hareket Eden Araba

 

Ultrasonik Sensörlerle Hareket Eden Araba

Kodlar 

int trigPin = 12;
int echoPin = 11;  

long sure;
long uzaklik;

int sol_1=3;  
int sol_2=2;  
int sag_1=4;  
int sag_2=5;

int sol_pwm=6;

int sag_pwm=9;



void setup()
{
  for(int i=2;i<=9;i++){
    pinMode(i, OUTPUT);}  
  pinMode(trigPin,OUTPUT);
  pinMode(echoPin,INPUT);
 
  Serial.begin(9600);
 
}

void loop()
{
engelalgilama();
  if(uzaklik<40){
    dur();
  delay(10);
    sol();
    delay(500);}
  else ileri();
  Serial.print("uzaklik");
  Serial.println(uzaklik);
 
}

long engelalgilama(){
digitalWrite(trigPin, LOW);
delayMicroseconds(5);
digitalWrite(trigPin, HIGH); delayMicroseconds(10);
digitalWrite(trigPin, LOW);  
sure = pulseIn(echoPin, HIGH);
uzaklik= sure /29.1/2;
if(uzaklik > 200)
    uzaklik = 200;
  return uzaklik;
}
void ileri(){    
digitalWrite(sol_1,HIGH);
digitalWrite(sol_2,LOW);
analogWrite(sol_pwm,150);
digitalWrite(sag_1,HIGH);
digitalWrite(sag_2,LOW);
analogWrite(sag_pwm,150);

}
void geri(){
digitalWrite(sol_1,LOW);
digitalWrite(sol_2,HIGH);
analogWrite(sol_pwm,150);
digitalWrite(sag_1,LOW);
digitalWrite(sag_2,HIGH);
analogWrite(sag_pwm,150);


}
void sag(){
digitalWrite(sol_1,HIGH);
digitalWrite(sol_2,LOW);
analogWrite(sol_pwm,150);
digitalWrite(sag_1,HIGH);
digitalWrite(sag_2,LOW);
analogWrite(sag_pwm,0);

}
void sol(){
digitalWrite(sol_1,HIGH);
digitalWrite(sol_2,LOW);
analogWrite(sol_pwm,0);
digitalWrite(sag_1,HIGH);
digitalWrite(sag_2,LOW);
analogWrite(sag_pwm,150);

}

void dur(){
digitalWrite(sol_1,HIGH);
digitalWrite(sol_2,LOW);
analogWrite(sol_pwm,0);
digitalWrite(sag_1,HIGH);
digitalWrite(sag_2,LOW);
analogWrite(sag_pwm,0);


}
Yorumunuzu Ekleyin

Yükleniyor...