intt1=2;//ileri geri için motor pini 1
intt2=3;//ileri geri için motor pini 2
intt3=4;//dönüşler için motor pini 1
intt4=5;//dönüşler iççin motor pini 1
inttrigPin=13;// ön ultrasonik sensör
intechoPin=12;//ön ultrasonik sensör
inttrigPinSol=11;// sol ultrasonik sensör
intechoPinSol=10;// sol ultrasonik sensör
inttrigPinSag=9;// sağ ultrasonik sensör
intechoPinSag=8;// sağ ultrasonik sensör
longmicrosaniyeSure,cmMesafe;// Mesafe hesabında kullanılan değişkenler
intc=0;
voidsetup(){
/*
* Pinlerimizin giriş çıkışlarını ayarlıyoruz
*/
pinMode(t1,OUTPUT);
pinMode(t2,OUTPUT);
pinMode(t3,OUTPUT);
pinMode(t4,OUTPUT);
pinMode(trigPin,OUTPUT);
pinMode(echoPin,INPUT);
pinMode(trigPinSol,OUTPUT);
pinMode(echoPinSol,INPUT);
pinMode(trigPinSag,OUTPUT);
pinMode(echoPinSag,INPUT);
}
voidloop(){
if(mesafeOlc(echoPin,trigPin)<=40){
if(mesafeOlc(echoPinSag,trigPinSag)>=40){
sifir();
sagaDon();
}elseif(mesafeOlc(echoPinSol,trigPinSol)>=40){
sifir();
solaDon();
}else{
sifir();
geri();
}
}else{
ileri();
}
}
voidsagaDon(){
sifir();
sag();
ileri();
delay(500);
sifir();
delay(200);
sol();
geri();
delay(500);
sifir();
}
voidsolaDon(){
sifir();
sol();
ileri();
delay(500);
sifir();
delay(200);
sag();
geri();
delay(500);
sifir();
}
longmesafeOlc(intecho,inttrig){
digitalWrite(trig,LOW);// Hoparlör 2ms sessiz
delayMicroseconds(2);
digitalWrite(trig,HIGH);// Hoparlör 10ms sesli
delayMicroseconds(10);
digitalWrite(trig,LOW);// Hoparlör sessiz
microsaniyeSure=pulseIn(echo,HIGH);// Mikrofonu dinle, yansıma süresini microsaniyeSure değişkenine al
cmMesafe=microsaniyeSure/58.3;// microsaniyeSure'dan cm olarak mesafeyi hesapla
returncmMesafe;
}
voidsifir(){
digitalWrite(t1,LOW);
digitalWrite(t2,LOW);
digitalWrite(t3,LOW);
digitalWrite(t4,LOW);
}
voidsol(){
digitalWrite(t4,LOW);
digitalWrite(t3,HIGH);
}
voidsag(){
digitalWrite(t3,LOW);
digitalWrite(t4,HIGH);
}
voidgeri(){
digitalWrite(t1,LOW);
digitalWrite(t2,HIGH);
}
voidileri(){
digitalWrite(t2,LOW);
digitalWrite(t1,HIGH);
}